【.NET框架】—— ASP.NET MVC5路由基礎(五)

1.1.ASP.NET MVC5路由概念及設置

路由是實現資源交互訪問的接口,路由匹配傳入請求,並把這些請求映射到控制器操做,構造傳出的URL,用來響應控制器操做。html

路由的分類:app

  • 傳統路由
  • 特性路由

傳統路由:框架

傳統路由的設置方式,原本就有,在app_Start/RouteConfig.cs中集中設置;url

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 }
            );
        }
    }
}

特性路由:spa

在控制器類或操做方法中使用聲明式的特性的選項,稱爲特性路由。3d

須要在app_Start/RouteConfig.cs中作設置,修改RegisterRoutes方法:code

①設置routes.MapMvcAttributeRoutes();htm

 

 

②對應路由控制器上添加[Route("Home/About")],對應路由Controller名稱,路由方法名稱;blog

 

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()方法就是初始化路由的視圖。

這裏須要設置一些界面默認的參數模式,詳情請參見博客:

http://www.javashuo.com/article/p-oapumbyb-ed.html

https://www.cnblogs.com/wningning/archive/2013/03/26/2982079.html

不然會出現 IIS 403報錯的問題:

相關文章
相關標籤/搜索