【发布时间】:2014-08-09 16:29:03
【问题描述】:
好吧,我可能做错了......但在我的主要 _Layout 我有这个:
<div id="navigation">
@RenderSection("Navigation")
</div>
在我的 Index.cshtml 视图中指向这一点:
@section Navigation{
<-- Need this to point to Views/Shared/Navigation.cshtml -->
}
但是我不想有一个包含我所有代码的大文件,所以我需要知道如何在这个部分中指向一个名为“Navigation.cshtml”的文件 - 基本上我有我的所有部分在单独的独立文件中。
我尝试只在 _Layout 中执行 @RenderPage("Navigation.cshtml") 而不是 @RenderSection,这会产生错误。
--编辑--
如果我添加这个而不是 @RenderSection()
<div id="navigation">
= @RenderPage("~Views/Shared/Navigation.cshtml")
</div>
我明白了:
The file "~/Views/Shared/~Views/Shared/Navigation.cshtml" could not be rendered, because it does not exist or is not a valid page.
--编辑--
完整的_Layout.cshtml:
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"> </script>
</head>
<body>
<div id="wrapper">
<div id="content">
<!-- BANNER -->
<div id="banner">
</div>
<!-- NAVIGATION -->
<div id="navigation">
@RenderPage("Navigation.cshtml")
</div>
<!-- MAIN DISPLAY -->
<div id="main">
@RenderBody()
</div>
<!-- FOOTER -->
<div id="footer">
</div>
</div>
</div>
【问题讨论】:
-
是什么错误,在post中补充一下
-
只检查你的路径......它错了......
-
是的,当我重做它以得到错误时,这是一个错字。正确的路径我得到这个:当我使用@RenderPage 时得到这个:以下部分已定义但尚未为布局页面“~/Views/Shared/_Layout.cshtml”呈现:“导航”
标签: asp.net-mvc asp.net-mvc-4 razor