我的主页面上有一些Html.RenderPartial和一个随机的ContentPlaceHolder,或多或少是这样的:
<body>
<% Html.RenderPartial("Controls/Menu"); %>
<% Html.RenderPartial("Controls/GenericControl"); %>
<asp:ContentPlaceHolder ID="MyContent" runat="server" />
</body>
目前在 Menu.ascx 文件中,我有一个按钮列表。在 GenericControl.ascx 文件中,有一些按钮来管理内容 我在菜单中拥有与按钮一样多的视图,内容如此描述:
<asp:Content ID="Content1" ContentPlaceHolderID="MyContent" runat="server">
<div>Some divs here</div>
<asp:Content>
这是我的问题。 我想在我的视图中添加另一个 asp:Content ,我不想在母版页中链接它,而是在GenericControl中。 显然我不能使用ContentPlaceHolder。我正在尝试使用PlaceHolder,但我遇到了一些问题,无法找到如何使用它。
答案 0 :(得分:5)
如果您使用的是Asp.net MVC,则不应使用服务器控件(以<asp: />
开头的那些控件)。
使用Razor引擎在asp.net mvc中定义占位符,你可以这样做:
在_Layout中
@RenderSection("header", required: false)
在视图中
@section header {
<h1>Hello World</h1>
}
要使其在网络表单视图引擎中运行,可能您必须将@
替换为<% %>