【发布时间】:2014-05-21 04:36:14
【问题描述】:
我们正在将 .NET mvc 应用从 MVC3 升级到 MVC5,其中包括从 Razor 1 升级到 Razor 3。我们在视图中不断遇到的一个错误如下:
在 MVC3 中,我们的许多视图都是这样做的:
@if (someCondition)
{
@* render some content *@
@string.Format(...)
}
但是,在 MVC5 中,这会产生以下错误:
System.Web.HttpParseException:“@”后出现意外的“字符串”关键字 特点。进入代码后,您无需为结构添加前缀,例如 “字符串”与“@”。
我知道有两个简单的修复方法:
@if (someCondition)
{
@* render some content *@
@: @string.Format(...)
}
或者
@if (someCondition)
{
@* render some content *@
<text> @string.Format(...) </text>
}
但是,在数百个视图中进行和测试这些更改会很痛苦。因此我的问题是:解决这个看似重大变化的最佳方法是什么?
- 是否有某种标志我们可以打开以使剃须刀的行为与以前一样?
- 在 Razor 3 中这种构造的推荐样式是什么?
【问题讨论】:
标签: c# asp.net-mvc-3 razor asp.net-mvc-5