欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC 重点教程一周年版 第八回 Helper之演化

发布时间:2025/3/17 asp.net 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ASP.NET MVC 重点教程一周年版 第八回 Helper之演化 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

凡事出现必有原因

就像Filter,它是为了解决在一类的Action之前或之后执行统一的代码而产生的。

而Helper则是为了方便View的开发而产生的。

下面我们来解决几个问题,来看看Helper是怎么演化出来的。

题目:如何在View中写一个超级连接连接到主页?

这个问题看起来很好回答:

<a href="/home/index">首页</a>

 

其实上面这种不能称之为方案的写法其实是最好的,没有调用任何的方法,仅用纯的HTML就解决了问题。

但是如果Route规则改变了那怎么办呢?就像原来的

routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" } );

改为了

routes.MapRoute( "Default", "{controller}/{action}.htm", new { controller = "Home", action = "Index" } );

 

扩展名变了,如果按上个答案那连接就要改为

<a href="/home/index.htm">首页</a>

 

如果项目中涉及到此Route规则的引用有很多的话,那么这么批量的改肯定会累死人的,而且还容易出错

那我们应该怎么办呢?

所以我们就要用UrlHelper

<a href="&lt;%=Url.Action("Index","Home")%>"&gt;首页</a>   这样在Route规则变化的情况下也会得到正确的地址   转

上面的方法使Url可以应对变化,可是还有一个问题就是href=”<%=%>”这种方式在VS中是很难智能感知和调试的,所以要有一种很好的调试方式于是就产生了最初的HtmlHelper

<%=Html.Action("首页","Index","Home")%>

 

这样就可以方便智能感知及调试了,而且代码也比较干净

 

上述的浅见描述了为何出现Helper,希望新学习ASP.NET MVC的朋友有所帮助。

 

ASP.NET MVC Framework 系列

转载于:https://blog.51cto.com/chsword/144417

总结

以上是生活随笔为你收集整理的ASP.NET MVC 重点教程一周年版 第八回 Helper之演化的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。