zoukankan      html  css  js  c++  java
  • ASP.NET MVC 第八回 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="<%=Url.Action("Index","Home")%>">;首页</a>   这样在Route规则变化的情况下也会得到正确的地址跳转

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

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

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

  • 相关阅读:
    JavaScript----特效代码
    坑!vue.js在ios9中失效
    MySQL的ibdata1文件占用过大
    Ubuntu搭建Gitlab服务器
    Logstash+Kibana部署配置
    Kafka+Zookeeper集群搭建
    ES5.0集群搭建
    Kibana使用高德地图
    Zabbix安装客户端agent(windows和Centos7)
    Centos/Rhel7部署Zabbix监控(部署篇之服务器篇)
  • 原文地址:https://www.cnblogs.com/haoxiaozhang/p/3689325.html
Copyright © 2011-2022 走看看