MVC設(shè)定默認(rèn)路由為指定的Area下的某個(gè)action
MVC中,一般的情況下,使用IDE工具幫我們生成的代碼,在路由注冊(cè)的時(shí)候:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "WebShow", action = "List", id = UrlParameter.Optional }
);
}默認(rèn)給的路由地圖 我們?cè)赿efault:中去配置 默認(rèn)是又那個(gè)控制器返回action。
這樣形如:http://localhost:1450/ 這樣,會(huì)默認(rèn)使用默認(rèn)的view文件夾中去找對(duì)應(yīng)的響應(yīng)model頁(yè)面;
但是當(dāng)項(xiàng)目規(guī)模龐大,使用了MVC提供的Area模塊快的規(guī)劃,又要讓Area塊下某一個(gè)頁(yè)面作為默認(rèn)頁(yè)面時(shí),那就需要把route默認(rèn)的路由去轉(zhuǎn)到我們指定Area下;要用到RouteCollection 的DataTokens方法。
舉個(gè)例子:Area下有注冊(cè)一個(gè)Admin塊
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Login", action = "Index", id = UrlParameter.Optional } //默認(rèn)路徑是Login控制器,和Index action
);
}
}如果要讓默認(rèn)到admin下指定的。那么RegisterRoutes方法需要給routes路由到area 下的Admin塊;
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Login", action = "Index", id = UrlParameter.Optional }, //這里要和Admin塊下的默認(rèn)控制器和action一樣
new[] { "GTA.CMS.Site.Web.Areas.Admin.LoginController" }// 這個(gè)是你控制器所在命名空間
).DataTokens.Add("area","Admin");
}總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
C#如何安全、高效地玩轉(zhuǎn)任何種類的內(nèi)存之Span的本質(zhì)
為什么要使用指針,什么時(shí)候需要使用它,以及如何安全、高效地使用它?本文將講清楚 What、How 和 Why ,讓你知其然,更知其所以然2021-08-08
適用于WebForm Mvc的Pager分頁(yè)組件C#實(shí)現(xiàn)
這篇文章主要為大家分享了適用于WebForm Mvc的Pager分頁(yè)組件,由C#實(shí)現(xiàn),感興趣的小伙伴們可以參考一下2016-04-04
C#實(shí)現(xiàn)給定字符串生成MD5哈希的方法
這篇文章主要介紹了C#實(shí)現(xiàn)給定字符串生成MD5哈希的方法,涉及C#操作字符串的相關(guān)技巧,需要的朋友可以參考下2015-06-06
C#中比較兩個(gè)List是否相等的常見(jiàn)方法
在?C#?里,比較兩個(gè)?List?是否相等,需要考慮多個(gè)方面,例如列表中的元素順序、元素本身是否相等,下面介紹幾種常見(jiàn)的比較方法,需要的朋友可以參考下2025-04-04
C#使用WebSocket與網(wǎng)頁(yè)實(shí)時(shí)通信的實(shí)現(xiàn)示例
本文主要介紹了C#使用WebSocket與網(wǎng)頁(yè)實(shí)時(shí)通信的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

