随笔 - 164  文章 - 0  评论 - 19  阅读 - 11万 
这里列出一些基本的关于MVC路由规则的使用正则表达式的例子。
            /*Front*/
            //限定id只能是数字, 长度为0~11
            routes.MapRoute(
                "Archive",
                "{user}/Archive/{id}",
                new { controller = "Blog", action = "Archive", user = "", id = 0 },
                new { id = @"[\d]{0,11}" }//new { id = @"[\d]*" }//*表示任意长度
            );

            //限定page只能是数字, 长度为0~8
            routes.MapRoute(
                "Archives",
                "{user}/Page/{page}",
                new { controller = "Blog", action = "Archives", page=1 },
                new { page = @"[\d]{0,8}" }
            );

            /*Default*/
            //限定controller只能匹配  Home,Blog,About,Admin  
            routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = "" }, // Parameter defaults
                new { controller =@"Home|Blog|About|Admin"}
            );

            /*Blog*/
            //限定user的长度是1~50
            routes.MapRoute(
                "Blog",
                "{user}",
                new { controller = "Blog", action = "Archives", user = "Home" },
                new { user = @"[\w]{1,50}" }
            ); 
 
测试:如果用户在浏览器输入http://localhost/bruce/Archive/1 则匹配第一个规则,正确;如果输入http://localhost/bruce/Archive/0123456789120000 或者http://localhost/bruce/Archive/abc 则会显示没有找到对应网页。简单实用的正则表达式!
 
关于正则表达式可以参考这里学习:http://www.regexlab.com/zh/regref.htmhttp://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F

作者:Bruce 编程的艺术世界出处:http://coolcode.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on   8user  阅读(771)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示