C#MVC 4,区域路由,使用主视图?

时间:2012-06-30 21:19:40

标签: c# asp.net-mvc asp.net-mvc-routing asp.net-mvc-4

我有一个包含区域的基本项目,我已在此区域注册了我的路线并使用了小写URL扩展。这是代码:

using System.Web.Mvc;

using Web.Modules;

namespace Web.Areas.Services
{
    public class ServicesAreaRegistration : AreaRegistration
    {
        public override string AreaName
        {
            get
            {
                return "Services";
            }
        }

        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRouteLowercase(
                "Services", // Route name
                "services/{controller}/{action}/{id}", // URL with parameters
                new { controller = "Services", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
                new string[] { "Web.Areas.Services" }
            );
        }
    }
}

但现在当我转到http://localhost/services/home时,它会向我显示我的HomeController的索引视图,我该怎么做才能解决这个问题?我已经添加了名称空间并将区域添加到routedata。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

好像你没有文件夹区域/服务/视图/主页或该文件夹中的索引视图。在这种情况下,ASP.NET MVC将回退到Views / Home(无区域)文件夹中显示索引视图。如果您需要为您的区域提供不同的视图,则需要在区域的Views / [Controller Name]文件夹(或者当然是Shared文件夹)中创建它。