首页 / 网页编程 / ASP.NET / ASP.NET MVC重点教程一周年版 第七回 UrlHelper
ASP.NET MVC重点教程一周年版 第七回 UrlHelper2011-07-09 博客园 重典这节讲 一下ASP.NET MVC中的Helper。何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组。其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢?其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View(还可以扩展出来 很多),在扩展包中,也有Castle的NVelocity引擎和Boo,以及ViewSpark的页面。所以,如果在Aspx中定义方法的话会影响其扩展性和可移植性.而且代码也不太好看.一、UrlHelper.ActionUrlHelper的Action方法 用于生成一个超级链接,它的使用方法为当前Controller下Index这个Action <%=Url.Action(“Index”)%> index当前Controller下Index这个Action <%=Url.Action(“Index”,new{id=1})% > index?id=1EiceController下Index这个Action <%=Url.Action (“Index”,"Eice")%> /eice/indexEiceController下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