路由URL未正确适用于某个区域

时间:2015-01-25 08:19:54

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

我添加了第二个区域,如下所示;

public class MerchantAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "Merchant";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Merchant_default",
            "Merchant/{controller}/{action}/{id}",
            new { controller = "Home", action = "Index", area = "Merchant", id = "" },
            new[] { "Dplus.Merchant.Controllers" }
        );
    }
}

当我在 http://localhost:7190/merchant/home 中输入网址时。一切都很好,但当我输入 http://localhost:7190/merchant (没有控制器名称)时,我得到以下错误;

  

HTTP错误403.14 - 禁止访问       Web服务器配置为不列出此目录的内容。

我有类似的区域,名为" Admin" ,确切的代码适用于它。但对于第二个领域,它并没有。

1 个答案:

答案 0 :(得分:0)

根据@Erik的评论,我的区域名称和目录名称是相同的。基本上我使用自定义视图引擎。所以我所做的是将目录名称更改为MVC区域名称以外的其他名称,例如AdministrationMerchant
现在浏览相同的网址有效!