Asp.net-mvc PlaceHolder,怎么用呢?

krv*_*rvl 0 asp.net-mvc controls placeholder asp.net-mvc-2

我的主页面上有一些Html.RenderPartial和一个随机的ContentPlaceHolder,或多或少像这样:

<body>

<% Html.RenderPartial("Controls/Menu"); %>
<% Html.RenderPartial("Controls/GenericControl"); %>
<asp:ContentPlaceHolder ID="MyContent" runat="server" />

</body>
Run Code Online (Sandbox Code Playgroud)

Menu.ascx文件中,我有一个按钮列表.在GenericControl.ascx文件中,有一些按钮来管理内容.
我在菜单中拥有与按钮一样多的视图,内容如下所述:

<asp:Content ID="Content1" ContentPlaceHolderID="MyContent" runat="server">
<div>Some divs here</div>
<asp:Content>
Run Code Online (Sandbox Code Playgroud)

这是我的问题.我想在我的视图中添加另一个asp:Content,我不想在Master Page中链接它,而是在GenericControl中.
显然我不能使用ContentPlaceHolder.我正在尝试使用PlaceHolder,但我遇到了一些问题,无法找到如何使用它.

Cat*_*lin 5

如果您使用的是Asp.net MVC,则不应使用服务器控件(以那些开头的控件<asp: />).

使用Razor引擎在asp.net mvc中定义占位符,你可以这样做:

在_Layout

@RenderSection("header", required: false)
Run Code Online (Sandbox Code Playgroud)

在视野中

@section header {
   <h1>Hello World</h1>
}
Run Code Online (Sandbox Code Playgroud)

为了使它在Web窗体视图引擎中工作,可能您必须替换@<% %>