MVC学习第八节 Helper之演化
作者:互联网
原文链接:http://www.cnblogs.com/ayzhanglei/archive/2013/01/21/2869176.html
凡事出现必有原因
就像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
@Html.ActionLink("首页","Index","Home")
这样在Route规则变化的情况下也会得到正确的地址
上述的浅见描述了为何出现Helper,希望新学习ASP.NET MVC的朋友有所帮助。
转载于:https://www.cnblogs.com/ayzhanglei/archive/2013/01/21/2869176.html
标签:Index,Helper,Route,第八节,controller,MVC,action,Home 来源: https://blog.csdn.net/weixin_30609331/article/details/99215864