參考 Difference Between Razor View Engine and ASPX View Engine 所整理兩種 View 引擎的特性, 提列重點如下, 並於文末針對 Razor 語法做注意事項筆記 (陸續新增)。 Razor View Engine Web Form View Engine 適用於 MVC3 以後版本, Razor 不是一種新的語言, 算一種標記語法 ASP.NET 預設的 View Engine 命名空間為 System.Web.Razor 命名空間為 System.Web.Mvc.WebFormViewEngine 附檔名為 .cshtml (Razor with C#) 或 .vbhtml (Razor with VB) 附檔名為 .aspx 或 .ascx 或 .master. Razor具有更新更進階的語法. 與舊有的 .aspx 頁面語法完全相同. Razor 語法 更直覺或易用, 比如使用 @ 前置詞: @Html.ActionLink("SignUp", "SignUp") 使用 .aspx 既有定義符號 <% 與 %> 如: <% Html.ActionLink("SignUp", "SignUp") %> 預設會預防 XSS 攻擊 (Cross-Site Scripting Attacks), 所以輸出到 View 之前會自動 encode 特殊字元( Scripts 或 HTML 標籤), 如 <,> 預設無預防 XSS 攻擊 不緩存情況, 處理速度稍慢 處理速度比 Razor 稍快 Razor 不支持頁面預覽 用 Visual Studio 可看到頁面預覽 (design mode), 方便不啟動服務進行頁面設計 Razor 支持 TDD (Test Driven Development) , 因為他不與 UI 元件相依, 如 System.Web.UI.Page 類 依賴 System.Web.UI.Page 類, 所以進行 TDD 或測試較為複雜 Layout的定義 微軟 layout 這篇文章帶領的不錯, By conv...
劍心 ~紀念軟體開發 10+ 年~ ~紀念寶寶 元 年~