asp.net-mvc – 在“剃刀”视图中默认一个部分
发布时间:2020-12-15 23:55:34 所属栏目:asp.Net 来源:网络整理
导读:这是我要解决的情况: 我有一个主要的共享布局与一个部分@RenderSection(“菜单”),我想默认为我的大多数页面的标准菜单,但我想在几个子页面中替换/覆盖该部分.剃须刀在这个阶段在游戏中是否可能? 我希望我可以在_ViewStart.cshtml中定义该部分的默认实现,
这是我要解决的情况:
我有一个主要的共享布局与一个部分@RenderSection(“菜单”),我想默认为我的大多数页面的标准菜单,但我想在几个子页面中替换/覆盖该部分.剃须刀在这个阶段在游戏中是否可能? 我希望我可以在_ViewStart.cshtml中定义该部分的默认实现,但它似乎不喜欢它. 菜单部分视图对于这种情况会更好吗? 编辑: 我现在使用此代码收到以下错误:以下部分已定义,但尚未呈现给布局页面“?/ Views / Shared / _Layout.cshtml”:“菜单”. _Layout.cshtml <div id="menu"> @if (IsSectionDefined("menu")) { RenderSection("menu"); } else { <text> <ul> <li>@Html.ActionLink("Home","Index","Home")</li> <li><a href="#">Lookups</a> <ul> @Html.ActionLink("Product","Product") </ul> </li> </ul> </text> } </div> Index.cshtml @section menu { <ul> <li>@Html.ActionLink("Product","Product")</li> <li>@Html.ActionLink("Form Type","Product")</li> <li>@Html.ActionLink("Supplier","Product")</li> </ul> } 解决方法
啊,我搞砸了,发现我可以通过切换逻辑来做到这一点:
@RenderSection("Header",false) @if (!IsSectionDefined("Header")) { <header> Default Header! </header> } 所以如果我的页面没有定义@section Header {…},它将呈现默认值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net-core-mvc – 如何创建从HttpContext.Tra
- asp.net-mvc – 用于MVC的程序集中的资源的Bundl
- asp.net-mvc – 为什么我的MVC应用程序中有两个w
- asp.net-mvc-3 – 如何在Asp.Net Mvc 3中显示自定
- asp.net – 使用客户端标记链接相对于Applicatio
- 如何使用asp.net克隆/复制控件(带子控件)?
- Asp.Net Web API跨层传递用户
- asp.net-mvc – 如何在视图中的脚本部分中包含脚
- asp.net-mvc – 使用MVCContrib格式进行编辑
- asp.net-mvc – 如何在SQL Server中为Asp.Net MV
热点阅读