【问题标题】:Asp.Net MVC3 Razor help, the wrong _ViewStart.cshtml is being calledAsp.Net MVC3 Razor帮助,错误的_ViewStart.cshtml被调用
【发布时间】:2011-04-06 18:06:05
【问题描述】:

我有一个控制器“QUnitController”,然后我的 Views 文件夹“QUnit”中有一个文件夹。在那个文件夹中,我有一个 _ViewStart.cshtml ,它被编码为使用此文件夹中的 _Layout 文件作为 QUnit 文件夹中的视图。由于某种原因,正在调用 Views 文件夹中的 _ViewStart.cshtml,而不是 QUnit 文件夹中的我的 _ViewStart.cshtml。我在这里做错了什么?我认为在文件夹中有这个文件会覆盖路径中的那个。我可以在 _ViewStart 文件中放置断点,我看到我想要的那个永远不会被击中。谁能告诉我我做错了什么?

这是控制器代码。 QUnitController.cs

 public class QUnitController : Controller
{
    public ActionResult LoadView(string viewName)
    {
        return View(viewName);
    }
}

这里是路由视图/_ViewStart.cshtml

@{
    Layout = "~/Views/Shared/_Layout.cshtml";

}

这里是 qunit Views/QUnit/_ViewStart.cshtml

@{
    Layout = "~/Views/QUnit/_Layout.cshtml";

}

为什么我没有调用正确的 _ViewStart?谁能帮我纠正这个问题?我感谢任何人可能有的任何帮助或提示。

谢谢,
~ck 在圣地亚哥

【问题讨论】:

  • 视图的确切路径是什么?
  • 我看不出你在做什么有什么问题。仔细检查您的文件名,确保有额外的空格等。

标签: asp.net-mvc layout asp.net-mvc-3 razor


【解决方案1】:

每个父文件夹中的所有 _ViewStart 文件都被执行;最外层的先执行。

您的~/Views/QUnit/_ViewStart.cshtml 应该最后执行。

您确定您的视图来自正确的文件夹吗?

【讨论】:

  • 这是正确的;最外面的_viewstart,然后我的_viewstart被调用。我在外部有逻辑,内部没有受到打击。我已经纠正了这个问题。感谢您的回答。
【解决方案2】:

每个区域都调用自己的_ViewStart.cshtml。所以在多区域上下文中,我们需要将~/View中的_ViewStart.cshtml复制到~/Areas/YourArea/Views。

【讨论】:

    猜你喜欢
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 2016-07-15
    相关资源
    最近更新 更多