代码之家  ›  专栏  ›  技术社区  ›  sandeep talabathula

访问DataList控件的OnItemCreated事件中的动态复选框控件的clientID

  •  1
  • sandeep talabathula  · 技术社区  · 15 年前

    动态复选框的clientID属性

    问题:我需要为数据列表中具有uniqueid的每个复选框附加一些javascript函数。

    当我试图访问内部的clientid时 OnItMeMeCube 事件在代码隐藏中,它总是产生与我在设计ASPX页中指定的相同的ID[它不会生成唯一的ID]。注意:当我访问 OnitemDatabound(OnitemDatabound) 命令。有什么原因吗? 下面是代码…

    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            CheckBox chk = (CheckBox)e.Item.FindControl("chkUID");
            if (chk != null)
            {
                chk.Attributes.Add("OnClick", "javascript:selectDiv(" + chk.ClientID.ToString() + ");");
            }
        } 
    }
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Mikael Svenson    15 年前

    您应该研究使用jquery javascript库附加onclick事件,而不是在codebehind中构建所有内容。

    通常,使用jquery select在客户机端执行此操作要容易得多。

    如果你的身份证是从chkuid开始的,你可以这样做:

    $(document).ready(function () {
       $("div[id*='chkUID']").click( function() { selectDiv( $(this).id ) } );
    });
    

    有关jquery的教程,请查看 http://docs.jquery.com/Tutorials