获取放置在DataControl内的控件的ClientID

时间:2011-09-21 07:52:39

标签: javascript asp.net listview clientid

任何人都可以帮我获取一个控件的ClientID,该控件保存在DataControl的ItemTemplate中吗? 我的控制就是这样。

<asp:ListView ID="ListView1" runat="server">
            <LayoutTemplate>
                 <table ID="itemPlaceholderContainer" runat="server" border="0" style="">
                    <tr runat="server">
                        <td>Contacts</td>
                    </tr>
                    <tr id="itemPlaceholder" runat="server" >

                    </tr>
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                 <tr style="">
                    <td>
                        <asp:CheckBox ID="chkFlag" runat="server" AutoPostBack="true" />
                    </td>                
                    <td><asp:Label ID="LabelContacts" runat="server" Text='<%#Eval("cont_name") %>'></asp:Label>
                    <asp:HiddenField ID="hfGSM" runat="server" Value='<%#Eval("cont_gsm") %>' />
                    </td>
                </tr>
            </ItemTemplate>
            </asp:ListView>

我需要从ListView中获取CheckBox的ClientID。 有谁知道怎么做?请帮帮我

2 个答案:

答案 0 :(得分:0)

这样的东西应该可行,如果你将它分配给CheckBox的一个属性,或者测试它在CheckBox的标签中呈现它:

<asp:CheckBox ID="chkFlag" runat="server" AutoPostBack="true"
  onClick="alert('<%# ((Control)Container).FindControl("chkFlag").ClientID %>')" />

P.S。我刚刚从这里复制,在打开新问题时搜索SO,或者我们是否想要爆炸他们的SQL? :d

How do I find the Client ID of control within an ASP.NET GridView?

答案 1 :(得分:0)

在ItemDataBound事件处理程序中的

...你可以找到控件并获得像这样的客户端ID

((CheckBox)e.Item.FindControl("chkFlag")).ClientID