ASP.NET MVC 重點教程一周年版 第七回 UrlHelper

來源:互聯網
上載者:User

這節講 一下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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.