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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2008-03-12 Asp.net Mvc Framework 七 (Filter及其执行顺序)
2008-03-12 为大家推荐一本书,^^希望所有人睡个好觉