如何在Razor视图文件中使用通用语法?
我试图用下面的语句:
@Html.Test<ISQL>().Nand()
但是,在ISQL之前,Razor正在窒息。
任何官方的工作呢?
要使用generics方法,您需要转义expression式
@(Html.Test<ISQL>().Nand())
当我升级mvc时,我正在寻找这个“同样的错误”,我刚刚发现这个问题。
我有:
不起作用:
@{ ViewBag.Title = "Something " + @Model.Title; var something = (IEnumerable<SelectListItem>)ViewBag.Options; }
显然,语法更加严格,而且当您位于@ {}块内时,您不应该在示例中的Model.Title之前添加@。 但代码编辑器的错误是指向通用,它让我疯了。
如果在代码里面没有<>,它就可以正常工作,但是从Model.Title中删除@可以解决这个问题。
作品:
@{ ViewBag.Title = "Something " + Model.Title; var something = (IEnumerable<SelectListItem>)ViewBag.Options; }
希望这有助于任何人
我很欣赏这个“答案”有点晚,问题显然已经得到满意的回答。 然而,对于这个页面的任何未来访问者来说,如果你正在阅读更完整的参考指南,那么就有关于Razor语法的MS介绍以及Phil Haack非常有用的Razor快速参考博客文章。
这是关于@字符,这个例子在升级之前是有效的
@{ string @class = ViewBag.@class; IDictionary<string, object> htmlAttributes = new Dictionary<string, object>(); }
升级后,必须分成两块
@{ string @class = ViewBag.@class; } @{ IDictionary<string, object> attrs = new Dictionary<string, object>(); }
当我在一个@{ ... }
bock中有几个任务时,我遇到了一个奇怪的情况。
@{ // ... other assignments (without error) List<string> stringList = new List<string>() // ERROR MESSAGE HERE }
我做了什么,总是有这样的错误:
使用genericstypes“List”需要一个types参数
解决方法 :我把赋值行放在第二个 @{ ... }
bock中 。
@{ // ... other assignments } @{ List<string> stringList = new List<string>() // WORKS }
- Razor视图引擎:expression式树可能不包含dynamic操作
- ASP.NET MVC框架4.5 CSS捆绑不起作用的托pipe
- 如何在ASP.NET MVC 3razorViewStart文件中指定不同的布局?
- 如何将ASP.NET Identity实现为一个空的MVC项目
- 如何在WebApi中添加和获取Header值
- “处理您的请求时发生exception。 另外,执行自定义错误页面时发生另一个exception…“
- ContentPlaceHolder在剃刀?
- 在Razor视图引擎和ASP.NET MVC 3中用dynamic模型渲染部分视图
- 使用“RedirectToAction”redirect到控制器的散列