siv*_*iva 42 asp.net-mvc razor asp.net-mvc-3
我有以下控制器代码:
public MyController:Controller
{
public ActionResult Index()
{
return View();
}
[ChildActionOnly]
public ActionResult MyPartialViewAction()
{
return PartialView("~/Views/Shared/MyCustomFolder/_MyPartialView",PartialViewModel);
}
}
Run Code Online (Sandbox Code Playgroud)
我的索引视图具有以下代码:
@HTML.Action("MyPartialViewAction")
Run Code Online (Sandbox Code Playgroud)
当我运行Web应用程序时,我得到了InnerExceptionMessage的HttpException:
InnerException {"未找到局部视图'〜/ Views/Shared/MyCustomFolder/_MyPartialView'或没有视图引擎支持搜索的位置.搜索了以下位置:\ r \n ~~/Views/Shared/MyCustomFolder/_MyPartialView" System.Exception {System.InvalidOperationException}
我到现在为止做了什么:
试图移动_MyPartialView从~/Views/Shared/MyCustomFolder以~/Views/Shared/和~/Views/MyControllerFolder,但仍存在错误
尝试将我的索引视图代码更改为@HTML.RenderAction()但没有运气.
关于我出错的地方的任何输入?
谢谢
Mae*_*ess 50
您需要将.cshtml扩展名添加到视图名称:
return PartialView("~/Views/Shared/MyCustomFolder/_MyPartialView.cshtml",PartialViewModel);
Run Code Online (Sandbox Code Playgroud)
San*_*lal 44
以防所选答案对您不起作用:
我将cshtml文件的构建操作更改为Content并修复了它.
如果答案仍然不适合您,并且您已将部分放在部分内部的嵌套文件夹中,请确保使用扩展名提供部分的完整路径.
@Html.Partial("~/Views/Partials/Components/_AdvancedComponentRenderer.cshtml", Model.Content);