我有一个控制器'QUnitController',然后我在Views文件夹'QUnit'中有一个文件夹。在该文件夹中,我有一个_ViewStart.cshtml,它编码为使用此文件夹中的_Layout文件作为QUnit文件夹中的Views。出于某种原因,正在调用Views文件夹中的_ViewStart.cshtml,而不是QUnit文件夹中的_ViewStart.cshtml。我在这做错了什么?我以为在文件夹中有这个文件会覆盖路由中的文件。我可以在_ViewStart文件中放置断点,我看到我想要的断点永远不会被击中。谁能告诉我我做错了什么?
这是控制器代码。 QUnitController.cs
public class QUnitController : Controller
{
public ActionResult LoadView(string viewName)
{
return View(viewName);
}
}
这是路线Views / _ViewStart.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
这是qunit Views / QUnit / _ViewStart.cshtml
@{
Layout = "~/Views/QUnit/_Layout.cshtml";
}
为什么我没有调用正确的_ViewStart?任何人都可以帮我纠正这个问题吗?我感谢任何人的帮助或提示。
谢谢,
〜在圣地亚哥
答案 0 :(得分:4)
执行每个父文件夹中的所有_ViewStart文件;最外面的一个先执行。
您的~/Views/QUnit/_ViewStart.cshtml
应该最后执行。
您确定自己的观点来自正确的文件夹吗?
答案 1 :(得分:0)
每个区域都调用自己的_ViewStart.cshtml。所以在多区域上下文中,我们需要将〜/ View中的_ViewStart.cshtml复制到〜/ Areas / YourArea / Views。