是否可以将其他内容标签中的控件用作参数?

问题描述

| 我目前有两个Web控件,一个是CheckBoxList,另一个是GridView。 GridView的数据配置在其查询中具有一个参数,该参数链接到CheckBoxList中选定的值。但是,当两个控件位于单独的内容标签中时,如下所示:
<asp:Content ID=\"ListPanel\" runat=\"server\" ContentPlaceHolderID=\"LeftContent\">
    <h3>Pick Info Here</h3>
    <asp:CheckBoxList ID=\"cbList1\" runat=\"server\" 
        DataSourceID=\"TestDataSource\" 
        DataTextField=\"St\" DataValueField=\"St\" RepeatColumns=\"2\">
    </asp:CheckBoxList>
</asp:Content>

<asp:Content ID=\"ResultsPanel\" runat=\"server\" ContentPlaceHolderID=\"RightContent\">
    <asp:GridView ID=\"gView1\" runat=\"server\" 
        AllowPaging=\"True\" AllowSorting=\"True\" 
        AutoGenerateColumns=\"False\" DataSourceID=\"TestDS1\">
        <Columns>
         ... 
        </Columns>
    </asp:GridView>
    <asp:sqlDataSource ID=\"TestDS1\" runat=\"server\" 
    ... 
    SelectCommand=\"SELECT ST FROM [Table] where ST = ?\">
    <SelectParameters>
        <asp:ControlParameter ControlID=\"cbList1\" Name=\"?\" 
            PropertyName=\"SelectedValue\" />
    </SelectParameters>
</asp:sqlDataSource>
</asp:Content>
当我将两个控件放在相同的
<asp:Content>
标记中时,它工作正常,但事情又因error2 things的错误而分开。有没有办法使控件分开,还是必须将它们放在相同的内容标签中?

解决方法

似乎有些粗暴,但是您可以在页面加载时将HiddenControl放在
ResultPanel
中,然后将其值设置为
cbList1.SelectedValue
。 我知道您可以从背后的代码访问控件,而不管它们位于什么内容中,但是显然您不能从aspx端的内容本身内部访问控件。,显然,这可以通过在参数条目的“ 6”之前加上“ 5”来实现。就我而言,代码为:
SelectParameters>
        <asp:ControlParameter ControlID=\"LeftContent:cbList1\" Name=\"?\" 
            PropertyName=\"SelectedValue\" />
    </SelectParameters>  
由于参数读取的控件位于LeftContent标记中。,几年后...我在gridview和控制参数上遇到了同样的问题。在呈现页面的源代码中,您可以找到元素的确切\“ path \”。在我的情况下,不仅是
gv1$txtEmployeeName
,而且是
gv1$ctl02$txtEmplyeeName
。 我猜,10ѭ意味着
EditItemTemplate
,因为包括including12ѭ解决了我的问题。