【问题标题】:Get ClientID of a Control Placed INSIDE a DataControl获取放置在 DataControl 内部的控件的 ClientID
【发布时间】:2011-11-21 17:16:23
【问题描述】:

谁能帮我获取保存在 DataControl 的 ItemTemplate 中的控件的 ClientID? 我的控制是这样的。

<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。 有谁知道该怎么做?请在这方面帮助我

【问题讨论】:

    标签: javascript asp.net listview clientid


    【解决方案1】:

    在 ItemDataBound 事件处理程序中...您可以像这样找到控件并获取客户端 ID

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

    【讨论】:

      【解决方案2】:

      如果你将它分配给 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?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-22
        • 1970-01-01
        • 2011-01-30
        • 1970-01-01
        • 2011-02-24
        • 2012-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多