zoukankan      html  css  js  c++  java
  • 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

    @Html.ActionLink("首页","Index","Home")
    这样在Route规则变化的情况下也会得到正确的地址
    
    

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

  • 相关阅读:
    Linux 用户管理
    oracle索引(转)
    oracle物理视图(转)
    oracle事物总结(转)
    SQL条件循环语句以及异常知识整理
    ORACLE 中ROWNUM用法总结! (转)
    PL/SQL编程重点语句输出整理
    Oracle函数整理
    Oracle子查询中any、some、all之间的区别
    Oracle DQL查询语言整理
  • 原文地址:https://www.cnblogs.com/ayzhanglei/p/2869176.html
Copyright © 2011-2022 走看看