Razor 與 JavaScript 語法正確但被誤判為錯誤語法


在 ASP.NET MVC 的 View 頁面中撰寫 Razor 和 JavaScript 時,有時明明語法正確,Visual Studio 2012 (with Update 1) 卻提示 JavaScript 語法錯誤,如下圖:


所幸這個語法錯誤只是個提示,編譯時只會出現警告,並不影響編譯與執行。

如果這樣寫就能避開:

var lat = "@Model.Latitude";

可是這樣一來,JavaScript 變數值成了字串,儘管避開了語法錯誤提示,可是在某些只能傳入數字型別的場合卻會導致 JavaScript 程式碼無法正確執行。若改寫成這樣就沒問題:

var lat = parseInt("@Model.Latitude");

如此既不會有編譯錯誤的提示,程式也能正常執行。

若不覺得那個錯誤提示礙眼,其實放著也行。已經有人在 MS Connect 上反映此問題:Valid javascript/Razor syntax marked as syntax error,官方也已經回覆確認。也許下一次 Visual Studio 更新時就會修正。

Post Comments

技術提供:Blogger.