.NET内容占位符的后备?

时间:2014-02-18 15:37:22

标签: asp.net .net

我在我网站上的几个区域使用.net内容占位符。大多数情况下,他们将对内容使用一个用户控件。如果没有从内容页面传入任何内容,.NET中有没有办法为内容占位符指定“后备”?占位符位于我的Site.Master FYI

由于

2 个答案:

答案 0 :(得分:2)

这正是<asp:ContentPlaceHolder>标记的设计目标。将默认内容放在母版页中,如果不覆盖子页面中的占位符,则会显示默认内容,例如

母版页

<%@ Master Language="C#" %>
...
<asp:ContentPlaceHolder ID="MyPlaceHolder" runat="server">
    <!-- default content -->
</asp:ContentPlaceHolder>

儿童页面

<asp:Content ID="ChildPlaceHolder" ContentPlaceHolderID="MyPlaceHolder" Runat="Server">
    <!-- override default content -->
</asp:Content>

答案 1 :(得分:2)

除非我完全误解了您的意思,否则您可以将默认内容放在主页面的<asp:ContentPlaceHolder>元素中。如果未定义客户端页面中相应的<asp:Content元素,则将使用默认内容。

例如,在您的母版页中......

<asp:ContentPlaceHolder ID="myPlaceHolder" runat="server">
  <b>Hello World</b>
</asp:ContentPlaceHolder>