如何在包含区域的ASP.NET MVC应用程序中将视图设置为域的主页。我需要一个特定区域的视图作为主页。怎么可以这样做?
我尝试使用以下代码但没有成功。
public static void RegisterRoutes(RouteCollection routes) {
routes.MapRoute(
name: "Home",
url: "",
defaults: new { controller = "Home", action = "Index" },
namespaces: new string[] { "WebApp.Areas.UI.Controllers" }
);
}
答案 0 :(得分:4)
在Area文件夹中,有一个名为 AreaName AreaRegistration的文件,来自AreaRegistration,它有一个设置路径的函数RegisterArea。
区域中的默认路线是 AreaName / {controller} / {action} / {id}。修改此项可以将区域设置为默认区域。例如,我根据我的要求将默认路由设置为{controller} / {action}。
public class UIAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "UI";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"UI_default",
"{controller}/{action}/{id}", //******
new {controller = "Home", action = "Index", id = UrlParameter.Optional}
);
}
}