zoukankan      html  css  js  c++  java
  • MVC前后台获取Action、Controller、ID名方法 以及 路由规则

    前后台获取Action、Controller、ID名方法

    • 前台页面:ViewContext.RouteData.Values["Action"].ToString();//获取Action名称

              ViewContext.RouteData.Values["Controller"].ToString();//获取控制器名称

                  ViewContext.RouteData.Values["ID"].ToString();//获取路由参数值:

    • 后台页面:ControllerContext.RouteData.GetRequiredString("Action");

                  ControllerContext.RouteData.GetRequiredString("Controller");

                  ControllerContext.RouteData.GetRequiredString("id");

    路由规则示例

    路由规则是有优先级的,上面的优先级高。

            routes.MapRoute(
                    name: "test",
                    url: "test1/{action}/{id}",
                    defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
                );
                routes.MapRoute(
                    name: "datacenter",
                    url: "data/{action}",
                    defaults: new { controller = "DataCenter", action = "Index", id = UrlParameter.Optional }
                );
                routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );

    当访问../test1页面时会匹配到第一个路由规则,对应的控制器和行为:Test/Index。访问../test1/add时,对应Test/Add

    当访问../data页面时会匹配到第二个路由规则,对应的控制器和行为:DataCenter/Index。访问../data/add时,对应DataCenter/Add

    当访问../Test或../DataCenter或../时都会匹配到第三个路由规则,第三个路由规则为系统自动生成的

  • 相关阅读:
    有关多线程的一些技术问题
    Remoting VS WCF 传输效率对比
    中英文术语对照表
    WCF配置文件全攻略
    架构设计之分布式文件系统
    Rails性能优化简明指南 (转载)
    不要活在别人的生活里(摘自开复网)
    find 命令 使用 (转载)
    turbo C BGI 基本图形接口的 例子
    如何编写Ruby控制台程序(一)
  • 原文地址:https://www.cnblogs.com/chrisghb8812/p/5611571.html
Copyright © 2011-2022 走看看