- ASP.NET WP 教程
- ASP.NET WP - 首頁
- ASP.NET WP - 概述
- ASP.NET WP - 環境設定
- ASP.NET WP - 入門
- ASP.NET WP - 檢視引擎
- 專案資料夾結構
- ASP.NET WP - 全域性頁面
- ASP.NET WP - 程式設計概念
- ASP.NET WP - 佈局
- ASP.NET WP - 使用表單
- ASP.NET WP - 頁面物件模型
- ASP.NET WP - 資料庫
- ASP.NET WP - 向資料庫新增資料
- ASP.NET WP - 編輯資料庫資料
- ASP.NET WP - 刪除資料庫資料
- ASP.NET WP - WebGrid
- ASP.NET WP - 圖表
- ASP.NET WP - 使用檔案
- ASP.NET WP - 使用影像
- ASP.NET WP - 使用影片
- ASP.NET WP - 新增電子郵件
- ASP.NET WP - 新增搜尋
- 向網站新增社交網路功能
- ASP.NET WP - 快取
- ASP.NET WP - 安全性
- ASP.NET WP - 釋出
- ASP.NET WP 有用資源
- ASP.NET WP - 快速指南
- ASP.NET WP - 有用資源
- ASP.NET WP - 討論
ASP.NET WP - 檢視引擎
ASP.NET 中的檢視引擎用於將我們的檢視轉換為 HTML,然後將其呈現到瀏覽器。預設情況下,ASP.Net 支援ASPX 和Razor 檢視引擎。檢視引擎模板的語法與實現不同。在本章中,我們將討論兩個最重要的檢視引擎,它們是:
ASPX 檢視引擎,也稱為 Web 窗體檢視引擎,以及
Razor 檢視引擎
還有許多其他第三方檢視引擎,例如Spark、Nhaml 等。
ASPX 檢視引擎
ASPX 或 Web 窗體引擎是 ASP.NET 的預設檢視引擎,從一開始就包含在 ASP.NET MVC 中。
使用 ASPX 檢視引擎編寫檢視的語法與 ASP.NET Web 窗體中使用的語法相同。
副檔名也與 ASP.NET Web 窗體相同(例如 .aspx、.ascx、.master)。
ASPX 使用“<% = %>” 或“<% : %>” 呈現伺服器端內容。
Web 窗體引擎的名稱空間是System.Web.Mvc.WebFormViewEngine。
ASPX 檢視引擎預設情況下不會做任何事情來避免跨站點指令碼攻擊。
與 Razor 檢視引擎相比,ASPX 檢視引擎速度更快。
Razor 檢視引擎
Razor 引擎是一個高階檢視引擎,它是在MVC3 中引入的。它不是一種新的語言,而是一種新的標記語法。
Razor 語法基於 C# 程式語言。
Razor 語法也支援 Visual Basic 語言,並且我們使用 C# 可以做的一切,您也可以在 Visual Basic 中完成。
Razor 引擎的名稱空間是System.Web.Razor。
Razor 使用“@”字元代替 ASPX 檢視引擎使用的“<% %>”。
對於 C# 語言,Razor 副檔名為“cshtml”。
預設情況下,Razor 檢視引擎在呈現到檢視之前會對 html 標籤或指令碼進行編碼,從而避免跨站點指令碼攻擊。
與 ASPX 檢視引擎相比,Razor 檢視引擎速度較慢。
語法差異
為了理解語法差異,讓我們看一個用 ASPX 和 Razor 檢視引擎編寫的簡單示例。以下是 ASPX 檢視引擎的程式碼片段。
<%foreach (var student in Students){ %>
<% if (student.IsPassed){ %>
<% = student.FirstName%> is going to next grade.
<% } else{ %>
<% = student. FirstName %> is not going to next grade.
<% } %>
<% } %>
以下是使用 Razor 檢視引擎編寫的相同示例程式碼。
@foreach (var student in Students){
@if(student.IsPassed){
@student. FirstName is going to next grade.
} else {
@student. FirstName is not going to next grade.
}
}
如果您檢視上面用 ASPX 和 Razor 語法編寫的兩個程式碼片段,就會很清楚地看到,與 ASPX 語法相比,Razor 語法更簡潔、更簡單。Razor 的一個缺點是,它不受 Dream Viewer 等視覺化編輯器的支援。