区域的默认视图

时间:2011-07-11 05:57:57

标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-3

我正在使用ASP.NET MVC 3.我创建了一个名为Administration的区域。没有与之关联的默认视图,因此如果我输入www.mywebsite.com/Administration,则会出现错误。当用户键入上述URL时,如何定义默认视图?我需要去创建一个家庭控制器吗?

我希望有类似的东西: www.mywebsite.com/Administration或 www.mywebsite.com/Administration/Index

AdministrationAreaRegistration.cs具有以下内容:

public override void RegisterArea(AreaRegistrationContext context)
{
   context.MapRoute(
      "Administration_default",
      "Administration/{controller}/{action}/{id}",
      new { action = "Index", id = UrlParameter.Optional }
   );
}

不确定这是否可行?

2 个答案:

答案 0 :(得分:3)

您不是要定义默认视图,而是默认操作。上面的代码错过了控制器的类型,默认情况下您要使用的操作:

假设你有AdministrationHome控制器。

public override void RegisterArea(AreaRegistrationContext context)
{
   context.MapRoute(
      "Administration_default",
      "Administration/{controller}/{action}/{id}",
      new { action = "Index", controller="AdministrationHome", id = UrlParameter.Optional }
   );
}

答案 1 :(得分:0)

也许在根目录中创建一个名为Administration的Controller / Views(不在Administration区域中)。

调用视图index