asp.net-mvc-3 – 在F#中的ViewBag动态对象上设置属性
发布时间:2020-12-05 00:19:09 所属栏目:asp.Net 来源:互联网
导读:我在C#中有这个动作方法: public ActionResult Index() { ViewBag.Message = Hello; return View(); } 而这个观点(Index.cshtml): h2@ViewBag.Message/h2 这会在页面上产生预期的“Hello”. 我想在F#中做控制器.我试过了 type MainContro
我在C#中有这个动作方法: public ActionResult Index() { ViewBag.Message = "Hello"; return View(); } 而这个观点(Index.cshtml): <h2>@ViewBag.Message</h2> 这会在页面上产生预期的“Hello”. 我想在F#中做控制器.我试过了 type MainController() = inherit Controller() member x.Index() = x.ViewBag?Message <- "Hello" x.View() 这会产生错误消息“未找到方法或对象构造函数’op_DynamicAssignment’”. 我查看了动态操作符的一些F#代码示例,我看不到任何比几页描述和许多代码行短的内容.它们似乎对于这个属性“setter”来说过于笼统. 解决方法ViewBag属性只是一个包装器,它将ViewData集合公开为dynamic类型的属性,因此可以从C#动态访问它(使用属性集语法).你可以使用实现吗?基于DLR做到这一点(见 this discussion at SO),但更容易定义?将数据直接添加到ViewDataDictionary(由ViewData属性公开)的运算符:let (?<-) (viewData:ViewDataDictionary) (name:string) (value:'T) = viewData.Add(name,box value) 然后你应该可以写 x.ViewData?Message <- "Hello" (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – “线程被中止了什么”. ‘SNIReadSync(SNI_Conn
- asp.net-web-api – WebAPI:403在发布网站后被禁止
- asp.net-mvc – MVC 5 OWIN登录声明和AntiforgeryToken.我错
- asp.net – ASP.NET中的“关键字不支持:”错误
- asp.net-mvc – 获取ControllerName和ActionName并在Master
- asp.net – 在部分视图中强制使用没有Html.BeginForm / Aja
- asp.net-mvc-4 – MVC4不要在重定向上使用主布局
- asp.net-mvc – 使用自定义格式的ASP.NET MVC ViewModel映射
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
- ASP.NET中读取XML文件信息的4种方法与示例代码
推荐文章
站长推荐
- asp.net-web-api – Web Api:找不到System.Net.
- asp.net-mvc – 无法更改关系,因为一个或多个外键
- asp.net – Windows应用程序与Web应用程序开发
- Asp.Net的FileUpload类实现上传文件实例
- asp.net-mvc – ASP.NET MVC应用程序的WatiN最佳
- 将ASP.NET应用程序本地化为普通话
- ASP.NET成员:拒绝用户阻止CSS,页面无法正确呈现
- asp.net-mvc – 如何在asp.net mvc中处理分页?
- asp.net-mvc – 在asp.net mvc 3剃刀中识别html助
- asp.net-mvc – CKEditor图像上传
热点阅读