Set a property on ViewBag dynamic object in F#
The ViewBag
property is just a wrapper that exposes the ViewData
collection as a property of type dynamic
, so that it can be accessed dynamically from C# (using property set syntax). You could use implementation of ?
based on DLR to do that (see this discussion at SO), but it is easier to define ?
operator that adds data directly to ViewDataDictionary
(which is exposed by the ViewData
property):
let (?<-) (viewData:ViewDataDictionary) (name:string) (value:'T) =
viewData.Add(name, box value)
Then you should be able to write
x.ViewData?Message <- "Hello"