客户端javascript访问服务器控件的方法
这里贴出的是javascript访问服务器Label控件的方法,其他的可以用类似方法。
<script type="text/javascript">
function ShowUpdating()
{
document.getElementById("<%=lbUploadFileInfo.ClientID%>").innerText="正在上传,请稍后...";
}
</script>
注意:firefox不支持innerText属性,可以用innerHTML代替,注意大小写。
关键部分:
1.使用getElementById方法获取控件对象;
2.使用<%= %>将服务器控件获取代码包住;
3.使用控件的ClientID属性获取服务器控件ID,由于asp.NET会给某些服务器控件自动生成一个唯一的ID号,因此服务器的ID号和客户端得到的ID可能不一样,因此需要用空间的ClientID属性获取该控件的客户端ID,获得对象后就可以调用相关方法来修改服务器控件了。
补充:
1.大部分服务器控件的属性,在客户端并不存在,不过会有一些对应的客户端属性。比如上述的label的text属性对应于客户端innerText;还有就是服务器控件的Visible属性可以利用客户端的style.DISPLAY的属性来进行更改。其他更多的属性也可以找到。
2. getElementById这个方法应该放在控件渲染完成之后,因为script脚本是有执行顺序的,未渲染之前是无法获取服务器控件的。保守的方法就是把脚步段放在页面的最后靠近</FORM>的地方。