创建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