我們正在將.NET MVC應用程序從MVC3升級到MVC5,其中包括從Razor 1升級到Razor 3.我們在視圖中持續出現的錯誤如下:解決剃鬚刀變化問題的最佳方法
在MVC3,我們的很多觀點做到這一點:
@if (someCondition)
{
@* render some content *@
@string.Format(...)
}
然而,在這MVC5提供了以下錯誤:
System.Web.HttpParseException: Unexpected "string" keyword after "@" character. Once inside code, you do not need to prefix constructs like "string" with "@".
有兩個簡單的修復,我知道:
@if (someCondition)
{
@* render some content *@
@: @string.Format(...)
}
或者
@if (someCondition)
{
@* render some content *@
<text> @string.Format(...) </text>
}
然而,這將是痛苦的,使在數百條意見測試這些變化。因此,我的問題是:解決這個看似突破的改變的最佳方式是什麼?
- 是否有某種標誌,我們可以打開使剃鬚刀的行爲,因爲它曾經是?
- Razor 3中這種結構的推薦樣式是什麼?
在MVC4剃刀[可能的重大更改是可以固定的可能重複「@:@」 ](http://stackoverflow.com/questions/15543841/possible-breaking-change-in-mvc4-razor-that-can-be-fixed-with) –