我以前曾问过一个有关抛出404错误的问题,但是由于尝试帮助我进行调试的人们的帮助,我现在有一个更具体的问题要问。
加载任何调用@Html.Partial
的视图时,我看到以下错误:
This localhost page can’t be found
在Visual Studio中,我看到return View()
被击中。
来自HomeController的示例方法:
[Route("")]
public ActionResult Welcome()
{
return View();
}
如果相关,我正在使用Microsoft.AspNet.MVC
版5.2.7
。
浏览器错误图片:
RouteConfig:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapMvcAttributeRoutes();
}
}
我的目录:
Welcome.cshtml:
@using Newtonsoft.Json
@{
Layout = null;
}
<!doctype html>
<html class="no-js" lang="">
<head>
<title>Test</title>
@Html.Partial("_HeadPartial")
</head>
<body>
<p></p>
</body>
</html>
_HeadPartial:
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
任何部分引用:
@Html.Partial("_AnalyticsPartial")
给我上述404错误;删除引用可以使渲染成功。我的分页可以为空,但仍会显示404。
为什么@Html.Partial
会导致这种情况?
答案 0 :(得分:1)
404是因为它找不到您的局部视图。您只需要包括部分视图的完整路径,因为它位于与当前视图不同的文件夹中:
@Html.Partial("~/Views/Shared/_HeadPartial")