1.1.ASP.NET MVC5路由概念及设置
路由是实现资源交互访问的接口,路由匹配传入请求,并把这些请求映射到控制器操作,构造传出的URL,用来响应控制器操作。
路由的分类:
- 传统路由
- 特性路由
传统路由:
传统路由的设置方式,本来就有,在app_Start/RouteConfig.cs中集中设置;
namespace WebApplication1 { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } } }
特性路由:
在控制器类或操作方法中使用声明式的特性的选项,称为特性路由。
需要在app_Start/RouteConfig.cs中做设置,修改RegisterRoutes方法:
①设置routes.MapMvcAttributeRoutes();
②对应路由控制器上添加[Route("Home/About")],对应路由Controller名称,路由方法名称;
1.2.ASP.NET MVC5特性路由—传值
特性路由传参需要在Controller控制器的方法上注解上加上{参数名}
注意:在访问的时候需要在url上面多加一个name实际传入的参数,如Home/About/jackson,才能访问到对应的路由。
多个参数传递:/{name}/{name2}…
1.3.ASP.NET MVC5特性路由—控制器路由
可以直接在控制器上加上”Home/{action}”即可访问到对应的每个控制器方法;
1.4.ASP.NET MVC5特性路由—路由约束
该约束限制id只能是int类型的变量,如果传入其它类型的string则访问不到对应的路由,会直接报错。
1.5.ASP.NET MVC5特性路由—路由默认值
这样配置就告诉MVC框架当前控制器就是初始化控制器,Index()方法就是初始化路由的视图。
这里需要设置一些界面默认的参数模式,详情请参见博客:
https://www.cnblogs.com/fumj/p/4887689.html
https://www.cnblogs.com/wningning/archive/2013/03/26/2982079.html
否则会出现 IIS 403报错的问题:
标签:MVC5,控制器,ASP,特性,NET,路由 来源: https://www.cnblogs.com/yif0118/p/13455605.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。