ASP.NET MVC 重點教程一週年版 第七回 UrlHelper
這節講 一下ASP.NET MVC中的Helper。
何謂Helper,其實就是在View中為了實現一些靈活功能而寫的方法組。
其實ASP.NET MVC的View是Aspx的頁面,本身可以宣告定義方法,那為什麼要有Helper呢?
其實無非是將介面與邏輯分離,而且Asp.net MVC也並不只支援Aspx一種View(還可以擴展出來很多),在擴充套件包中,也有Castle的NVelocity引擎和Boo,以及ViewSpark的頁面。
所以,如果在Aspx中定義方法的話會影響其擴充套件性和可移植性.而且程式碼也不太好看.
一、UrlHelper.Action
UrlHelper的Action方法 用於生成一個URL地址,它的使用方法為
當前Controller下Index這個Action <%=Url.Action(“Index”)%> index
當前Controller下Index這個Action <%=Url.Action(“Index”,new{id=1})%> index?id=1
EiceController下Index這個Action <%=Url.Action(“Index”,"Eice")%> /eice/index
EiceController下Index這個Action <%=Url.Action(“Index”,"Eice",new{id=1})%> /eice/index?id=1
例如我在View中寫Url.Action("Index","Home"),執行後則會生成/Home/Index這個地址,如果你的系統中的URL Routing規則總是變化的話這個Helper則是你必備之選.
二、UrlHelper.Encode
這也是UrlHelper的一個方法 使用方法 如<%=Url.Encode("中文")%>功能與Server.UrlEncode相同,這裡不多說了
三、UrlHelper.Content
用於伺服器路徑轉換為絕對路徑。
如
<%=Url.Content("~/content/site.css") %>
最後的結果為
/content/site.css
如果你有特殊需要可以用3.0新特性,擴充套件方法來為UrlHelper來增加新的功能,下一節我們講如何使用Helper來顯示Html