gpt4 book ai didi

c# - 无法在 ASP.Net MVC 5 中找到区域 View

转载 作者:行者123 更新时间:2023-11-30 19:59:31 30 4
gpt4 key购买 nike

新项目无法找到新区域的 View 。

它正在尝试在父 Views 文件夹中找到它。

建议的解决方案是将 .DataTokens.Add("area", "AREANAME") 放入 RegisterArea 方法中。

public override void RegisterArea(AreaRegistrationContext context) 
{
context.MapRoute(
"Test_default",
"Test/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
).DataTokens.Add("area", "Test");
}

但是,有了这个,我得到了一个“已经添加了具有相同键的项目。”错误。

更新 1:我没有在 Controller 上做任何花哨的事情。

public ActionResult Index()
{
return View();
}

更新 2:我只想补充一点,我还将组件注册到 Unity 容器中。不过,我不认为这会导致问题,因为它明确指出没有必要注册我的 Controller 。

最佳答案

这很可能是因为正在从命名空间中搜索 View

YourNamespace.YourApplication.Controllers 

相反,它应该从命名空间(或您定义的任何命名空间)中查看

YourNamespace.YourApplication.Areas.Test.Controllers

将以下内容添加到您的路线声明中

public override void RegisterArea(AreaRegistrationContext context) 
{
context.MapRoute(
"Test_default",
"Test/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "YourNamespace.YourApplication.Areas.Test.Controllers" }
);
}

关于c# - 无法在 ASP.Net MVC 5 中找到区域 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23716618/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com