【发布时间】:2011-07-13 04:28:40
【问题描述】:
我正在尝试让我的网站的导航栏有点动态。 如果 categoryId 等于 0,我会删除一些按钮,否则我会全部显示:
_Layout.cshtml:
<body>
<div class="page">
<div id="header">
<div id="logindisplay">
@Html.Partial("_LogOnPartial")
</div>
<div id="menucontainer">
@if (IsSectionDefined("Navigation"))
{
{RenderSection("Navigation", false);}
}
else
{
<p>No navigation setup!</p>
}
</div>
</div>
<div id="main">
<div id="contentwrapper">
@RenderBody()
</div>
<div id="footer">
</div>
</div>
</div>
</body>
Index.cshtml:来自我的 HomeController
@model Project2.ViewModels.ProjectCategoryListViewModel
@{
ViewBag.Title = "Home Page";
}
@section Navigation {
@{Html.RenderAction("LayoutNav", "Home", new { CategoryId = 0 });}
}
<!-- Rest of the page's code -->
Index.cshtml:来自我的 CategoryController
@model Project2.ViewModels.Categories.CategoryIndexViewModel
@{
ViewBag.Title = "Category Index";
}
@section Navigation {
@{Html.RenderAction("LayoutNav", "Home", new { CategoryId = Model.Category.Id });}
}
<!-- Rest of the page's code -->
我尝试了完全相同的设置,但没有 RenderAction,只是直接输入 html,但我不断收到此错误消息:
The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_Layout.cshtml": "Navigation".
Category 和 Home 控制器中的 Index 操作是直接返回 View 的 ActionResults。
有什么想法吗?
【问题讨论】:
标签: asp.net asp.net-mvc