我试图使用以下语句:
@Html.Test<ISQL>().Nand()
但是,Razor对ISQL之前的<感到窒息。
有官方解决方案吗?
Answers:
我在升级mvc时正在寻找此“相同错误”时才发现此问题。
我有:
不起作用:
@{
ViewBag.Title = "Something " + @Model.Title;
var something = (IEnumerable<SelectListItem>)ViewBag.Options;
}
显然,语法变得更严格,并且由于您位于@ {}块中,因此不应在示例的Model.Title之前添加@。但是代码编辑器上的错误指向通用,这让我发疯。
如果代码中没有<>,它可以正常工作,但是只需从Model中删除@即可。
作品:
@{
ViewBag.Title = "Something " + Model.Title;
var something = (IEnumerable<SelectListItem>)ViewBag.Options;
}
希望这对任何人有帮助
我很欣赏这个“答案”有些晚,而且这个问题显然已经令人满意(而且很好)得到了回答。但是,对于以后访问此页面的任何人,如果您正在寻找更完整的参考指南,则可以参考MS对Razor语法的介绍,以及Phil Haack非常有用的Razor快速参考博客文章。
当我在一个@{ ... }
博克内完成多个任务时,我遇到一个奇怪的情况。
@{
// ... other assignments (without error)
List<string> stringList = new List<string>() // ERROR MESSAGE HERE
}
我所做的一切总是存在错误,例如:
使用通用类型“列表”需要一个类型参数
解决方法:我将分配线放到第二个 @{ ... }
方框中。
@{
// ... other assignments
}
@{
List<string> stringList = new List<string>() // WORKS
}