ASp.NET MVC 路由「建议收藏」
2023-06-13 09:12:40 时间
大家好,又见面了,我是你们的朋友全栈君。
路由
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.cn/162940.html原文链接:https://javaforall.cn
相关文章
- ASP.NET 使用Ajax
- [.NET控件]Telerik RadControls for ASP.NET AJAX 2008 Q1 net 2.0 Web.UI「建议收藏」
- ASP.NET Core 6框架揭秘实例演示[31]:路由"高阶"用法
- ASP.NET Core 6框架揭秘实例演示[30]:利用路由开发REST API
- MySQL Error number: MY-011301; Symbol: ER_XPLUING_NET_STARTUP_FAILED; SQLSTATE: HY000 报错 故障修复 远程处理
- asp.net中如何调用sql存储过程实现分页
- .netLinux下部署ASP.NET环境指南(linux部署asp)
- ASP.NET操作MySQL数据库技术实例(aspx操作mysql)
- 联手开发:.NET与Oracle的合作之路(.net和oracle)
- ASP.NET中连接数据库的各种连接字符串
- MySQL与ASP结合,为网站带来绿色发展(asp mysql 绿色)
- asp.net下使用DIME协议上传文件
- 实现ASP.NET多文件上传程序代码
- Asp.Net通用数据操作类(附通用数据基类)
- asp.net正则表达式[经常用的到]
- asp.net(C#)动态添加非ASP的标准html控件(如添加Script标签)
- asp.net弹出警告窗口实现代码
- asp.net计划任务管理程序实现,多线程任务加载
- ASP.NET调用百度搜索引擎的代码
- asp.net动态引用样式表代码
- asp.net常用字符串处理方法
- asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
- 一个Asp.Net的显示分页方法附加实体转换和存储过程带源码下载
- 基于ASP.NET的lucene.net全文搜索实现步骤
- .Net中导出数据到Excel(asp.net和winform程序中)
- GMap.Net开发之自定义Marker使用方法
- .Net读取Excel返回DataTable实例代码