Dot-Net

為什麼升級到 razor 2 / mvc 4 後,我的 razor 視圖會抱怨“} 預期”?

  • September 7, 2012

我有一個現有的 razor 1 / mvc 3 視圖,有一些嵌套的if- 非常簡單,但是在升級到 razor 2 / mvc 4 後,它在執行時抱怨並編譯(BuildViews)關於} expected. 它曾經工作得很好。

  • 我檢查了所有元素是否格式正確/已關閉
  • 我檢查了所有{/}是否平衡 - 這不是文件結尾問題

有什麼問題?

在 razor 2 / mvc 4 升級中修復了許多遺留的 razor 奇怪問題;一個有趣的問題是,在 razor 1 中,以下內容是合法的(在程式碼區域中):

string foo = @Some.Complex.Expression;

注意@有多餘的和不正確的,但是剃須刀1沒有抱怨。但是,razor 2 比較挑剔,比較糊塗,} expected報錯。此行應替換為:

string foo = Some.Complex.Expression;

這有點微妙,因為發生的錯誤與大括號(/ )無關,並且可能與報告的行相距幾行。{``}

引用自:https://stackoverflow.com/questions/12317655