zoukankan      html  css  js  c++  java
  • MVC 路由-->链接

    链接的地址,可以根据路由规则动态生成,不用写死,文档结构有变化时,依然可以找到正确的路径

    1.url.Action(只生成URL)

       有很多重载方法,可以根据需要选择,生成URL时,会根据路由规则生成,不过调用时也是根据路由规则寻址,所以OK

       

    <a href="@Url.Action("GetStuDetail","Student",new {id=1001,gender=1})">学员详情</a>
    
    //路由规则
    
    routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );
    
    //匹配结果
    <a href="/Student/GetStuDetail/1001?gender=1">学员详情</a>
    

    2.Html.ActionLink(生成整个Link标签)

    //View页面生成标签 
    @Html.ActionLink("新增学员", "AddNewStu", "Student",
     new { gender = 1, age = 10, name = "李磊" },  //Url参数
    new { @class="AddStuLink",title="新增学员"})    //Html标签属性
    
    //路由规则
    
      routes.MapRoute(
                 name: "Test1",
                 url: "{action}/{controller}",
                 defaults: new { controller = "Home", action = "Index" }
      )
    
    //生成的链接
    <a title="新增学员" class="AddStuLink" href="/AddNewStu/Student?gender=1&age=10&name=%E6%9D%8E%E7%A3%8A">新增学员</a>
    

     标签根据路由规则生成URL,所以,action在前,controller在后,路由中对要求必须有Controller和action,但位置不做要求,可以起到一定的屏蔽作用

     注意 url的生成与路由表息息相关,路由规则变化后,url对应变化,路由表不可随意变更

     以上两种方法只匹配路由表中第一条路由(controller和action) url有的,作为路由,没有的作为参数。

    <a href='@Url.Action("StudentDetail","Student",new {id=1001,age=20,gender=1})'>查看学员详情</a>
    
    //路由规则1
       routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = 10 }
                 );
    
    //生产的链接
    <a href="/Student/StudentDetail/1001?age=20&gender=1">查看学员详情</a>  //其他的作为参数
    
    
    //路由规则2 
       routes.MapRoute(
                name: "Test1",
                url: "{controller}/{action}/{id}/{age}/{gender}",
                defaults: new { controller = "Home", action = "Index", id = 10 } 
            );
    //生成的链接  
    <a href="/Student/StudentDetail/1001/20/1">查看学员详情</a>   //匹配到,作为路由
  • 相关阅读:
    Spring 源码解析之 XML 解析 到 BeanDefinition
    Mybatis 流程解析 之 mapper映射
    Mybatis 流程解析 之 配置加载
    (二) mybatis 源码分析之日志
    CNC 1320
    CNC 1815
    linux中jdk安装,配置环境变量
    ssm配置文件,方便以后使用
    01 标识符,基本数据类型,自动类型转换与强制类型转换,自增与自减,三元运算符,键盘录入
    N46期第二十一周作业
  • 原文地址:https://www.cnblogs.com/tianxiaoxiao/p/7953615.html
Copyright © 2011-2022 走看看