【问题标题】:Failed to return partial view from area从区域返回部分视图失败
【发布时间】:2013-10-28 22:49:56
【问题描述】:

基本上我刚刚在我的 ASP.NET MVC4 应用程序中创建了一个区域。 这一切都很好,但是当我想返回一个 PartialView 时,如下所示:

return PartialView("_ImportSessionsTable", viewModel);

(不是上面的调用是从 area(admin) 视图调用的) 我收到以下错误:

未找到部分视图“_ImportSessionsTable”或没有视图 引擎支持搜索的位置。以下位置是 搜索到:~/Views/ImportSessions/_ImportSessionsTable.aspx

~/Views/ImportSessions/_ImportSessionsTable.ascx

~/Views/Shared/_ImportSessionsTable.aspx

~/Views/Shared/_ImportSessionsTable.ascx

~/Views/ImportSessions/_ImportSessionsTable.cshtml

~/Views/ImportSessions/_ImportSessionsTable.vbhtml

~/Views/Shared/_ImportSessionsTable.cshtml

~/Views/Shared/_ImportSessionsTable.vbhtml

问题是:据我所知,它不是在我存储视图的区域文件夹 (admin) 中寻找视图。我怎样才能让它在那里看?每当我调用return View(); 时,它都可以正常工作,所以只有当我将视图指定为字符串时。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 visual-studio-2012


    【解决方案1】:

    我怎样才能让它看到那里?

    您可以指定要渲染的部分的完整位置:

    return PartialView("~/Areas/Admin/Views/ImportSessions/_ImportSessionsTable.cshtml", viewModel);
    

    【讨论】:

    • 好吧,我最终遵循了您的示例,它现在可以通过以下路径工作:~/Areas/Admin/Views/ImportSessions/_ImportSessionsTable.cshtml 我只是假设它可以自动查看它被调用的区域。
    【解决方案2】:

    您还可以考虑覆盖视图引擎搜索视图的位置,但这对于您要查找的内容可能有点极端。见这里:Link

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多