关闭

学习心得--客户端获得服务器控件的ID

1046人阅读 评论(0) 收藏 举报

在客户端的javascript脚本里,想操作服务器控件时,先要得到控件的引用。一般先获得服务器控件的在web页中的ID,通过调用documnet 对象的方法,就可以获得服务器控件的引用。

如:在网页定义了一个服务器控件

<asp:DropDownList id="EquipmentList" runat="server" Width="96px"></asp:DropDownList>

然后在脚本中可通过语句 var list=document.getElementById("EquipmentList"); 获得了控件的引用,然后就可以操作控件了,如:list.options.length=3; 也可以使用 document.all["EquipmentList"].options.length=3;   一句实现。刚刚学web开发,一直这么用没啥问题。

遇到问题: 定义了一个用户控件,用户控件里面包含包含若干服务器控件,在用户控件中写脚本控制服务器控件。仍然按照 上面的方法做,出错。提示是:document.getElementById("EquipmentList") 为空或不是对象,说明没有找到EquitmentList 控件,没有获得引用。经求教得知,用户控件放在网页上时,其内部的服务器控件的ID会改变,不是在用户控件中定义的那个ID了。 要获得这个ID 要用如下语句:<%=服务器控件名.ClientID%>  ,修改用户控件中脚本代码,用:<%=服务器控件名.ClientID%> 替换原来的ID,如:

var list=document.getElementById("EquipmentList");  换为 var list=document.getElementById("<%=EquipmentList.ClientID%>"); 这样代码运行成功。

今天学会使用:<%=服务器控件名.ClientID%> 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1310次
    • 积分:28
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档