0

我有一个包含区域的基本项目,我已经在该区域注册了我的路线并使用了小写 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 的索引视图时,我能做些什么来解决这个问题?我已经添加了命名空间并将区域添加到路由数据。

感谢您的帮助

4

1 回答 1

1

似乎您根本没有文件夹 Areas/Services/Views/Home 或该文件夹中的索引视图。在这种情况下,ASP.NET MVC 将回退到从 Views/Home(无区域)文件夹显示您的索引视图。如果您需要为您的区域创建不同的视图,您需要在该区域的 Views/[Controller Name] 文件夹(当然也可以是 Shared 文件夹)中创建它。

于 2012-06-30T21:49:31.117 回答