ASp.NET MVC 路由「建议收藏」

ASp.NET MVC 路由「建议收藏」路由ASP.NETMVCRoute—转发请求:1.客户端发起请求2.到达IIS3.转发到程序集4.经过一个路由匹配–转发到匹配的控制器中5.匹配的action去处理RouteConfig中如果有多个路由,从上到下进行匹配,按照路由url中的正则表达式进行匹配,在命中url后找不到Controller或View则使用defaults中的默认参数publicstaticvoidRegisterRoutes(RouteCollectionroutes){

大家好,又见面了,我是你们的朋友全栈君。

路由

ASP.NET MVC Route—转发请求:
1.客户端发起请求
2.到达IIS
3.转发到程序集
4.经过一个路由匹配–转发到匹配的控制器中
5.匹配的action去处理

RouteConfig中如果有多个路由,从上到下进行匹配,
按照路由url中的正则表达式进行匹配,

在命中url后找不到Controller或View则使用defaults中的默认参数



public static void RegisterRoutes(RouteCollection routes)
        { 
   
            //忽略路由: XXXX.axd/XXXXX 不去匹配路由
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            //在MVC之前,WebFrom开发,IIS通过aspx后缀进行匹配
            //后来MVC出现之后,通过IIS补丁,追加后缀进行识别匹配
            //IIS升级,不需要补丁
            //于是需要忽略掉带axd的请求


            //固定路由
            routes.MapRoute(
                name: "about",
                url: "about",
                defaults: new { 
    controller = "Home", action = "About", id = UrlParameter.Optional }
            );

            //修改控制器的名称
            routes.MapRoute(
                name: "Test",
                url: "Test",
                defaults: new { 
    controller = "First", action = "Index", id = UrlParameter.Optional }

            );

            // http://localhost:52176/First/String_2021_12_02 //ToFirst
            // 匹配路由ToFirst,因为格式符合{controller}/{action}_{year}_{month}_{day}
            routes.MapRoute(
                name: "ToFirst",
                url: "{controller}/{action}_{year}_{month}_{day}",
                defaults: new { 
    controller = "First", action = "String", id = UrlParameter.Optional },
                constraints: new
                { 
   
                    year = @"\d{4}",
                    month = @"\d{1,2}",
                    day = @"\d{2}"
                }

            );


            //http://localhost:52176/First/String?year=2021&month=12&day=02 //Defult
            //http://localhost:52176/First/String?year=2021&month=6&day=02 //Defult
            //匹配路由Defult,因为格式"String?year=2021&month=12&day=02"作为一个参数



            //路由规则是key-value的形式
            //如果路由是多个,name的值不能相同,value:url url--正则匹配
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { 
    controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162940.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月21日 下午11:00
下一篇 2022年7月21日 下午11:16


相关推荐

  • git 生成ssh 密钥

    git 生成ssh 密钥首先 检查下自己之前有没有已经生成 在开始菜单中打开 git 下的 gitbash 当然 在其他目录下打开 gitbash 也是一样的 然后执行 cd ssh 如果能进入到 ssh 文件目录下 则证明 之前生成过 ssh 秘钥 可以直接使用里面的秘钥 如果不能进入到 ssh 文件目录下 则 检测下自己之前有没有配置 gitconfiguse name 和 gitconfiguse

    2026年3月20日
    1
  • 彻底理解position与anchorPoint

    彻底理解position与anchorPoint原文  http://www.cnblogs.com/benbenzhu/p/3615516.html引言相信初接触到CALayer的人都会遇到以下几个问题:  为什么修改anchorPoint会移动layer的位置? CALayer的position点是哪一点呢? anchorPoint与position有什么关系?我也迷惑过,找过网上的教程,

    2022年10月8日
    5
  • windows编译-spidermonkey

    windows编译-spidermonkey听过 Mozilla 火狐浏览器的娘家 的 javascript 引擎吗 感兴趣吗 想在 windows 平台的应用开发中使用这个引擎吗 肯定 好 往下看 本文给出 Windows 平台 SpiderMonkey 的 32 位和 64 位静态库编译方法 nbsp WINDOWS SpiderMonkey 位 Release 静态库 开心吧 网上 2017 年以前的例子 你不一定能编译的过

    2026年3月18日
    2
  • msfconsole命令大全_msfconsole实战

    msfconsole命令大全_msfconsole实战MSFconsole有许多不同的命令选项可供选择。以下是Metasploit命令的核心组合,并参考其格式。back从当前上下文返回banner显示一个很棒的metasploit横幅cd更改当前的工作目录color切换颜色connect与主机通信edit使用$VISUAL或$EDITOR编辑当…

    2025年9月29日
    4
  • Docker安装Rabbitmq超详细教程

    Docker安装Rabbitmq超详细教程安装Rabbitmq1.使用docker查询rabbitmq的镜像dockersearchrabbitmq2.安装镜像安装name为rabbitmq的这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可dockerpullrabbitmq3.运行mq:dockerrun-d–hostnamemy-rabbit–namerabbit-p15672:15672-p5673:5672rabbitmq通过dockerps-a查看部

    2022年5月24日
    56
  • kong笔记——kong/konga的搭建

    kong笔记——kong/konga的搭建经过上篇的介绍 大家可能对 kong 有一个简单的了解 如果不了解的同学 可以看看这篇 kong 笔记 认识 kong 一 本篇及以后的此系列文章皆为实战篇版本介绍 重点 重点 一定要观察版本 防止不兼容情况 kong2 5 0konga0 14 9pgsql9 6linuxcentos 简述对于 kong 的搭建 官网提供的方式有很多 感兴趣的自己可以看看 kong 官方文档 InstallKongG Enterprise v2 5 x KongD

    2026年3月18日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号