我有两个主页,一个是“基础”主页,另一个是嵌套主页。
在我的asp.net网络应用程序的子文件夹中,嵌套母版页通过声明 - >引用主“Standard.Master”。的MasterPageFile = “〜/ Standard.Master”。
我在base-Masterpage定义的占位符中使用child-contentplaceholders来托管使用嵌套母版页显示的页面的特定内容。
示例:
<asp:Content ContentPlaceHolderID="filter" runat="server">
<asp:ContentPlaceHolder runat="server" ID="filter"></asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ContentPlaceHolderID="ContentPlaceHolderMain" runat="server">
<asp:ContentPlaceHolder runat="server" ID="ContentPlaceHolderMain">
</asp:ContentPlaceHolder>
contentplaceholder“过滤器”在 Standard.Master 中定义,并包含用于选择当前页面参数的下拉列表或其他控件,这是一个示例:
<asp:Content ContentPlaceHolderID="filter" runat="server">
<asp:CheckBox ID="weekCbx" runat="server" AutoPostBack="false" />
我有很多objectdatasources引用这些过滤器:
<asp:ObjectDataSource ID="myDatasource" runat="server" TypeName="BusinessLogic.MyType"
SelectMethod="GetData"
<SelectParameters>
<asp:ControlParameter ControlID="filter$weekCbx" Name="weeks" PropertyName="Checked" />
</SelectParameters>
</asp:ObjectDataSource>
引用Standard.master中的contentplaceholder,如下所示 - &gt; “filter $ weekCbx”在嵌套页面中不起作用。错误是:无法在ControlParameter'周'中找到控件'filter $ weekCbx'。使用“filter $ filter $ weekCbx”不起作用。
如何从嵌套页面访问Standard.Master中“filter”占位符内的控件?
如果我必须将它移到后面的代码中,我可能每次都必须使用FindControl来访问5-10个过滤器。我想避免这种情况。