這節講 一下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方法 用於生成一個超級鏈接,它的使用方法為
當前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