问题描述
|
我目前有两个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ѭ解决了我的问题。