【发布时间】:2009-07-14 14:54:41
【问题描述】:
我有一个 default.aspx 文件,它与 MasterPAge 和 ContentPlaceHolder1 相关联并且显示正常,有没有办法让另一个页面显示 info.aspx 在 ContentPlaceHolder2 中自动显示?
【问题讨论】:
-
你想要的肯定是可能的,但你能再描述一下场景吗?
标签: asp.net master-pages
我有一个 default.aspx 文件,它与 MasterPAge 和 ContentPlaceHolder1 相关联并且显示正常,有没有办法让另一个页面显示 info.aspx 在 ContentPlaceHolder2 中自动显示?
【问题讨论】:
标签: asp.net master-pages
将 ContentPlaceHolder 视为 MasterPages 的“填空”。我认为您正在寻找的更像是用户控件,它是一种内容/功能,您可以在任何您想要的地方插入。
【讨论】:
如果有办法可以将 Info.aspx 的内容变成用户控件(应该很容易),
如果是这样,这是一个很容易解决的问题,请将新的 ascx 放在母版页上的占位符中。
在大师上:
<div class="mainContent">
<!-- Each Page Content Will Go Here -->
<asp:ContentPlaceHolder ID="cph_MainContent" runat="server">
</asp:ContentPlaceHolder>
</div>
<div class="bottomContent">
<asp:ContentPlaceHolder ID="cph_BottomContent" runat="server">
<!-- Each Page will Display this UNLESS it referenced this placeholder -->
<!-- Put you INFO.ASCX control here -->
</asp:ContentPlaceHolder>
</div>
然后您只需注释掉或删除内容页面上第二个占位符的标签:
<asp:Content ID="Content2" ContentPlaceHolderID="cph_MainContent" runat="server">
you page content
</asp:Content>
<%--
this will make the master use the content inside the holder on its own page
<asp:Content ID="Content3" ContentPlaceHolderID="cph_BottomContent" runat="server">
</asp:Content>
--%>
【讨论】: