App_Start文件夹中的RouteConfig

  1. MapRoute(string name,string url);
  2. MapRoute(string name,string url,object defaults);
  3. MapRoute(string name,string url,string[] namespaces);
  4. MapRoute(string name,string url,object defaults,object constraints);MapRoute(string name,string url,object defaults,string[] namespaces);
  5. MapRoute(string name,string url,object defaults,object constraints,string[] namespaces);

 
①name参数:
规则名称, 可以随意起名。不可以重名,否则会发生错误: “路由集合中已经存在名为“Default”的路由。路由名必须是唯一的”。
②url参数:
url获取数据的规则,这里不是正则表达式,将要识别的参数括起来即可,比如: {controller}/{action}
最少只需要传递name和url参数就可以建立一条Routing(路由)规则,比如实例中的规则完全可以改为:
routes.MapRoute( “Default”, “{controller}/{action}”);
③defaults参数:
url参数的默认值:如果一个url只有controller: localhost/home/,而且我们只建立了一条url获取数据规则: {controller}/{action},那么这时就会为action参数设置defaults参数中规定的默认值。由于defaults参数是Object类型,所以可以传递一个匿名类型来初始化默认值:new { controller = “Home”, action = “Index” }。
在ASP.Net MVC网站默认实例中使用的是三个参数的MapRoute方法:
④constraints参数:
用来限定每个参数的规则或Http请求的类型。constraints属性是一个RouteValueDictionary对象,也就是一个字典表,但是这个字典表的值可以有两种类型:
一是:用于定义正则表达式的字符串(正则表达式不区分大小写)。通过使用正则表达式可以规定参数格式,比如controller参数只能为4位数字:new { controller = @”\d{4}”}
routes.MapRoute(
name:"Default2",
url:"{controller}-{action}-{id}",
defaults:new{ controller ="Home", action ="Index", id =UrlParameter.Optional},
constraints:new{
controller =@"\d{4}",
httpMethod =newHttpMethodConstraint("GET")}
);

  

 
具体的一个实例
// 酒店列表页匹配
routes.MapRoute(
"酒店列表页",
"hotels/{action}-{city}-{price}-{star}",
new{ controller ="Hotel", action ="list", city ="beijing", price ="-1,-1", star ="-1"},
new{ city =@"[a-zA-Z]*", price =@"(\d)+\,(\d)+", star ="[-1-5]"}
);
// 酒店频道所有匹配
routes.MapRoute(
"酒店首页",
"hotels/{*iiii}",
new{ controller ="Hotel", action ="default", hotelid =""}
);
// 网站首页默认匹配
routes.MapRoute(
"网站首页",
"{*values}",
new{ controller ="Home", action ="index"}
);

ASP.NET-Router配置中MapRoute的参数的更多相关文章

  1. C# asp.net mvc 配置多个route 参数

    mvc 中路由可以自定义 public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { ...

  2. BDE配置中的一个参数:SHAREDMEMLOCATION

    用Delphi编写数据库程序经常会用到BDE [@more@] 但是前一段发现一个问题,根据程序需要修改了BDE的设置,结果发现只能运行一个实例,再打开这个程序或其他用到BDE的程序系统就会报错: E ...

  3. ASP.NET Web API中的参数绑定总结

    ASP.NET Web API中的action参数类型可以分为简单类型和复杂类型. HttpResponseMessage Put(int id, Product item) id是int类型,是简单 ...

  4. MVC中配置OutputCache的VaryByParam参数无效的问题

    在项目使用OutputCacheAttribute是遇到了问题,当我想在配置文件web.config中配置OutputCache的VaryByParam时竟然不起作用,下面是相关代码: 文件FaceC ...

  5. ASP.NET Core MVC 中两种路由的简单配置

    1.全局约定路由 这种方式配置优先级比较低,如果控制器或者方法上标记了特性路由那么优先走特性路由. 当建立好一个mvc项目里,路由都是默认配置好的. 如果建立的是空项目那么需要手动配置: 1.需要在C ...

  6. System.ArgumentException: 回发或回调参数无效。在配置中使用 < pages enableEventValidation="true"/>

    转载自http://blog.csdn.net/dongge825/article/details/7868151 关于在同一个页面中使用Gridview控件的时候发现气updaeting事件无法被服 ...

  7. 回发或回调参数无效。在配置中使用 pages enableEventValidation=true 或在页面中使用 %@ Page EnableEventValidation=true % 启用了事件验证

    WebForm中回发或回调参数无效问题的解决 解决 .NET中回发或回调参数无效问题的解 该错误的详细提示信息为: 回发或回调参数无效.在配置中使用 <pages enableEventVali ...

  8. Production环境中iptables常用参数配置

    production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...

  9. 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。

    问题补充: “/Source”应用程序中的服务器错误. 回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或 ...

随机推荐

  1. Swift开发教程--怎样自己定义TabBarItem的图片显示

    在做项目的时候,假设使用系统的UITabBarController的时候,底部的tab自己定义图片显示是蓝色和灰色的.这不是我们所想要的效果. 假设想显示自己定义的按下和弹起的图片效果.这个时候就须要 ...

  2. Web Service学习-CXF开发Web Service实例demo(一)

    Web Service是什么? Web Service不是框架.更甚至不是一种技术. 而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间怎样 ...

  3. Android广播机制分析

    1.1. 广播简单介绍         Android 广播与生活中的广播概念不同,它是指系统中产生事件后的通知. Android 广播不关心接收者是否收到处理或者怎样处理广播,能够说是一种单向的通知 ...

  4. java之 ------ 设计思想

    java的设计思想 (设计思想.是须要不断领悟的.. . ) 一.封装 学java的人都知道这是向对象的编程语言,从字面上理解,就是针对对象的一些操作,将具有某一特性的实体封装成一个类或者是将具有一定 ...

  5. Java中使用多线程、curl及代理IP模拟post提交和get訪问

    Java中使用多线程.curl及代理IP模拟post提交和get訪问 菜鸟,多线程好玩就写着玩.大神能够路过不吝赐教.小弟在这受教.谢谢! 很多其它分享请关注微信公众号:lvxing1788 ~~~~ ...

  6. 0x35 高斯消元与线性空间

    颓了十天回来做题果然…… 感觉还是很有收获的,这两以前都没学过 bzoj1013: [JSOI2008]球形空间产生器sphere poj1830(upd) 之前做得很烂还被 D飞*2 了..重做一次 ...

  7. DB-MySQL:MySQL GROUP BY

    ylbtech-DB-MySQL:MySQL GROUP BY 1.返回顶部 1. MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使 ...

  8. AJAX请求 $.ajaxSetup方法的使用

    转自:https://blog.csdn.net/qq_23476319/article/details/78798885 jQuery.ajaxSetup()函数用于设置AJAX的全局默认设置. 该 ...

  9. 对python变量的理解

    #!/usr/bin/python class Person: '''some words content or descriptions!''' name='luomingchuan' _age = ...

  10. 观光奶牛Sightseeing Cows (二分+spfa(dfs))

    观光奶牛 农夫约翰已决定通过带他们参观大城市来奖励他们的辛苦工作!奶牛必须决定如何最好地度过他们的空闲时间. 幸运的是,他们有一个详细的城市地图,显示L(2≤L≤1000)主要地标(方便编号为1 .. ...