从区域返回部分视图失败

Posted

技术标签:

【中文标题】从区域返回部分视图失败【英文标题】: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(); 时,它都可以正常工作,所以只有当我将视图指定为字符串时。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

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

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

【讨论】:

以上是关于从区域返回部分视图失败的主要内容,如果未能解决你的问题,请参考以下文章

更新布局中的部分视图

无法弄清楚如何返回部分视图而不是全部

从 ASP.NET MVC 操作返回部分视图和 JSON

Scrollview 只检测特定区域的滚动?

UIPageViewController - 双击点区域显示部分过渡(Xcode 8,Swift 3)

从图像视图中捏和图像并获得它的特定部分?