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報錯的問題:

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/94.html
標籤:ASP.NET MVC
