MVC 5中无法找到分部视图问题求助
MVC中使用
FindPartialView找不到分部视图的解决方案 我看到你在MVC项目里折腾分部视图查找的问题好久了,试了各种方案都不管用,调用ViewEngines.Engines.FindPartialView时一直报“View not found”,太闹心了对吧?我来帮你定位问题~
核心问题:路径拼写错误
你代码里写的路径是~/View/Home/HelloPartial.cshtml,这里有个很容易忽略的拼写错误:MVC默认的视图文件夹名称是Views(带末尾的s),不是View!这就是找不到视图的关键原因。
修正后的代码
把路径改成正确的~/Views/Home/HelloPartial.cshtml,修改后的Action代码如下:
public ActionResult Index() { var result = ViewEngines.Engines.FindPartialView(ControllerContext, "~/Views/Home/HelloPartial.cshtml"); var msg = string.Empty; if (result == null || result.View == null) { msg = "View not found"; } else msg = result.View.ToString(); ViewBag.Msg = msg; return View(); }
额外排查点(如果修正路径后仍无效)
如果改完路径还是不行,可以检查以下几个方面:
- 确认分部视图文件确实存在于
Views/Home目录下,文件名和后缀完全匹配(注意大小写,Windows环境不敏感,但部署到Linux会有影响) - 右键分部视图文件→属性,检查生成操作是否设置为
内容,如果设置成其他值,编译时不会把文件复制到输出目录 - 如果你自定义了视图引擎,需要确保自定义引擎支持这种完整路径的查找方式
项目结构参考截图


内容的提问来源于stack exchange,提问作者nvtthang
相关产品推荐
相关产品推荐

