partial view was not found or no view engine supports the searched locations
I have following controller code:
public MyController:Controller
{
public ActionResult Index()
{
return View();
}
[ChildActionOnly]
public ActionResult MyPartialViewAction()
{
return PartialView("~/Views/Shared/MyCustomFolder/_MyPartialView",PartialViewModel);
}
}
and my Index view has the following code :
@HTML.Action("MyPartialViewAction")
When I run the Web app I get HttpException with InnerExceptionMessage as :
InnerException {"The partial view '~/Views/Shared/MyCustomFolder/_MyPartialView' was not found or no view engine supports the searched locations. The following locations were searched:\r\n~~/Views/Shared/MyCustomFolder/_MyPartialView"} System.Exception {System.InvalidOperationException}
What I have tried till now :
Tried moving
_MyPartialView
from~/Views/Shared/MyCustomFolder
to~/Views/Shared/
and~/Views/MyControllerFolder
but still error existsTried changing my Index View code to
@HTML.RenderAction()
but no luck.
Any inputs on where I'm going wrong ?
Thanks
Solution 1:
Just in case the selected answer is not working for you:
I changed the build action of the cshtml file to Content and it fixed it.
Solution 2:
You need to add the .cshtml extension to the view name:
return PartialView("~/Views/Shared/MyCustomFolder/_MyPartialView.cshtml",PartialViewModel);
Solution 3:
If the answers are still not working for you and you have put your partial in a nested folder inside of partials, ensure that you provide the full path to the partial with the extension.
@Html.Partial("~/Views/Partials/Components/_AdvancedComponentRenderer.cshtml", Model.Content);