国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

asp.net-mvc - asp.net mvc 中路由該怎麼做?
為情所困
為情所困 2017-05-16 17:06:19
0
1
644

asp.net mvc 中一般是

controller/action/參數(shù)

的位址形式

但是大多數(shù)時候,網(wǎng)站的位址不是這樣的路徑

如:

xxxx.com/asp.net/
xxxx.com/asp.net/mvc/
xxxx.com/asp.net/webform/
xxxx.com/asp.net/ado.net/

xxxx.com/javascript/
xxxx.com/javascript/jquery/
# xxxx.com/javascript/angularjs/
# xxxx.com/javascript/jichu/

xxxx.com/jiaoyu/

#

這時候,位址就不是 controller/action/參數(shù) 的形式

不知道 asp.net mvc 中如何對應(yīng)這種路徑? ? ?

為情所困
為情所困

全部回覆(1)
阿神

這個要看你的路由規(guī)則如何定義以及路由的定義順序。
假如這個請求進(jìn)入到ASP.NET管道模型中,它就會去到預(yù)先定義的路由中去執(zhí)行匹配,遇到第一個匹配的路由,就直接將這個路由結(jié)果返回了。
例如預(yù)設(shè)的路由的第一個路由規(guī)則是:

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Admin", action = "Login", id = UrlParameter.Optional }
    );

xxxx.com/asp.net/ 將符合這條路由規(guī)則,controller="asp.net",action="Login";
xxxx.com/asp.net/mvc/ 也會符合這條路由規(guī)則,controller="asp.net",action="mvc";

假如說你另外定義了一條路由規(guī)則,而且這條路由規(guī)則在剛才那條路由規(guī)則前面:

    routes.MapRoute(
        name: "asp.net",
        url: "asp.net/{controller}/{action}/{id}",
        defaults: new { controller = "User", action = "Link", id = UrlParameter.Optional }
    );
    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Admin", action = "Login", id = UrlParameter.Optional }
    );

xxxx.com/asp.net/ 將符合這條路由規(guī)則,controller="User",action="Link";
但xxxx.com/cast/將不匹配第一條路由規(guī)則,而繼續(xù)用第二條路由規(guī)則匹配,這時就會匹配成功,controller="cast", action="Login"

建議可以看下《精通ASP.NET MVC3框架》這本書,第11章路由規(guī)則有此問題的分析介紹。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板