从区域返回部分视图失败
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
【讨论】:
以上是关于从区域返回部分视图失败的主要内容,如果未能解决你的问题,请参考以下文章