后台动态添加控件后,脚本得不到控件的ID的解决方法

 

后台动态添加控件后,脚本无法得到此控件的ID,需要通过以上方法获取

后台代码:

    public void BindNotMainCateGory()
        {
            DataSet ds = LifeExpress.Components.POICategory.GetChildCategoryDataSet(0);
            NotNotMainCateGoryIDList.Text = "";//输入框置空

             for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {

                CheckBox wps = new CheckBox();
                wps.ID = "chk" + ds.Tables[0].Rows[i]["id"].ToString();
                wps.ToolTip = ds.Tables[0].Rows[i]["id"].ToString();
                wps.Text = ds.Tables[0].Rows[i]["DisplayName"].ToString();
                panelNotMainCateGory.Controls.Add(wps);  //panelNotMainCateGory是panel控件
         
                CheckBoxList chklist = new CheckBoxList();
                chklist.RepeatDirection = RepeatDirection.Horizontal;
                chklist.ID = wps.ToolTip;              
                chklist.RepeatColumns = 4;
                DataSet ds1 = LifeExpress.Components.POICategory.GetChildCategoryDataSet(Convert.ToInt32(wps.ToolTip.Trim()));
                if (ds1.Tables[0].Rows.Count > 0)
                {
                    chklist.DataSource = ds1;
                    chklist.DataTextField = "DisplayName";
                    chklist.DataValueField = "id";
                    chklist.DataBind();
                    if (!PanelNotMainChildCateGory.Controls.Contains(chklist))
                    {
                        PanelNotMainChildCateGory.Controls.Add(chklist);//PanelNotMainChildCateGory是panel控件

                    }
                }

                  //通过鼠标移动到控件wps上,显示相应chklist控件,隐藏其它的checkboxlist控件

                wps.Attributes.Add("onMouseOver", "OnMouseUpNotMainCateGory(" + chklist.ClientID + ")");
                NotNotMainCateGoryIDList.Text = NotNotMainCateGoryIDList.Text + chklist.ClientID + ",";

                if (i == 0)
                {
                    wps.Checked = true;
                    //chklist.Visible = true;
                    chklist.Style.Add("display", "block");//此否要用style控件显示与隐藏,不用vislble.
                }
                else
                {
                    //chklist.Visible = false;
                    chklist.Style.Add("display", "none");
                }
            }
            if (NotNotMainCateGoryIDList.Text.Length > 0)
            {
                NotNotMainCateGoryIDList.Text = NotNotMainCateGoryIDList.Text.Substring(0, NotNotMainCateGoryIDList.Text.Length - 1);
            }
        }


前台代码

<script>

 

 function OnMouseUpNotMainCateGory(id) 
 {

      //id.style.display="block";需要显示的控件
       //NotNotMainCateGoryIDList是一个文件框,存放ID列表。 NotNotMainCateGoryIDList是拖拉出来的控件,可以通过document.getElementById('<%=NotNotMainCateGoryIDList.ClientID %>');得到控件
       var IDList=document.getElementById('<%=NotNotMainCateGoryIDList.ClientID %>');
        aArr=IDList.value.split(',');             
        for(i=0;i<aArr.length;i++)
        {            
            if(document.getElementById(aArr[i])!=id)
            {
            document.getElementById(aArr[i]).style.display="none"; 
            }
            else           
            {
             document.getElementById(aArr[i]).style.display="block";
            }
        }
 }

    </script>

 

转载于:https://www.cnblogs.com/weichuo/archive/2008/10/09/1307332.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值