如何在ASP.NET MVC中将区域视图设置为主页?

时间:2013-01-05 19:52:31

标签: asp.net-mvc-routing asp.net-mvc-areas

如何在包含区域的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" }
                );
}

1 个答案:

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