当前位置:编程学习 > C#/ASP.NET >>

创建Custom contro时用document.getElementById获取组件问题

我的目的是创建一个custom control,可以有一个textbox和另一个image。
只有在textbox被选中的时候image才显示出来。


protected override void CreateChildControls()
        {
            img = new Image();
            lbl = new Label();
            tbx = new TextBox();
 

            img.ImageUrl = "Resouce/PicDate.Image.png";
            img.Visible = false;
            img.ID = "img";
            
            this.Controls.Add(img);
            this.Controls.Add(tbx);
            this.Controls.Add(lbl);

            tbx.Attributes.Add("onfocus", "document.getElementById('<%=img.ClientID%>').style.display='' ");
        }

问题是这个时候我无法获得img这个组件的ClientID,总是提示object为空,我猜测原因是clientid还没生成。。

求教,在线等。 --------------------编程问答-------------------- 自己顶一下 --------------------编程问答-------------------- document.getElementById('<%=img.ClientID%>').style.display='' 
document.getElementById('“+img.ClientID+"').style.display=''  --------------------编程问答--------------------     tbx.Attributes.Add("onfocus", "document.getElementById('"+img.ClientID+"').style.display='' "); --------------------编程问答-------------------- 楼主的代码错得好离谱。

<%=img.ClientID%> 是不能在 .cs 文件里面写到aspx的。

而且你都已经 img.ID = "img";
声明好了id,id早就事先知道了,何必还弄动态?
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,