Razor中的ContentPlaceHolder?

jga*_*fin 56 asp.net-mvc razor

我可以将ContentPlaceHolder与Webforms视图引擎一起使用,将东西放在母版页的不同位置.

我怎么用Razor做到这一点?

    <div id="content">
        <asp:ContentPlaceHolder ID="MainContent" runat="server">
        </asp:ContentPlaceHolder>
    </div> 
    <div id="footer">
        <asp:ContentPlaceHolder ID="Footer" runat="server">
        </asp:ContentPlaceHolder>
    </div>
Run Code Online (Sandbox Code Playgroud)

jga*_*fin 90

我再次在谷歌找到正确的搜索关键词之前就设法询问了.

在布局中

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

查看示例

<h2>About</h2> 

<p>   
    Some stuff about this page.   
</p> 

<p> 
    The current date and time: @DateTime.Now  
</p> 

@section footer { 

    Copyright (c) 2010, Robert Sundström. 

}
Run Code Online (Sandbox Code Playgroud)

  • 在MVC 3 RC中BTW,`RenderSection`的参数从`optional`变为`required`(当然,其含义相反).所以,它看起来像这样:@RenderSection("footer",required:false)(我编辑了答案以反映这一点.) (6认同)

Kyl*_*yle 10

无法发表评论抱歉,但您可以删除"必填:"

@RenderSection("footer", false)
Run Code Online (Sandbox Code Playgroud)

  • 我喜欢那里的"必需"; 它使代码立即可以理解 (10认同)