母版页中显示系统时间 js

本文介绍了解决母版页中控件ID变化导致JavaScript无法正常获取的问题,并提供了三种获取客户端ID的方法。

 在使用母版页的时候,发现源文件控件元素的ID和生成HTML文件的ID不一致。表单from的name属性和id属性变成了aspnetForm,控件的id属性被无缘无故了加上了ctl00_ContentPlaceHolder1_前缀,其name属性也加上了ctl00$ContentPlaceHolder1$前缀,在使用javascript的时候就无法正确获得ID值进行下一步操作,如何解决这个问题呢?下面介绍在母版页显示系统时间为例进行说明。步骤如下:

//javascript获得系统时间代码
<script   language="javascript">  
  function   show()  
  {  
       var   t;                //获得系统当前时间  
       t=new   Date();  
       var   s;
       s =t.getFullYear ()+"年";
       s+=t.getMonth ()+"月";
       s+=t.getDay ()+"日";                       
       s+=t.getHours()+":";   //获得时
       s+=t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes();   //获得分   
       s+=":";  
       s+=t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds();  
       document.getElementById('<%= lblmasterTime.ClientID %>').innerText=s;
       setTimeout("show()",1000) 

  }  
  </script>

2. 在母版页的body里面修改如下,使其载入时发生:

<body onload="show()">

//为System.Web.UI.WebControls.TextBox   服务器端控件

<asp:Label ID="Label1"     runat="server"></asp:Label>

备注:document.getElementById('<%= Label1.ClientID %>').innerText=s;为技术关键点,为获得客户端的id,就需要用Label1.ClientID

由于种种原因(比如使用了MasterPage,或者GridView中的模版列),一个控件在设计时的ID往往不同于生成页面后的ID,为了获得控件客户端ID,我们可以从生成的页面入手,取控件id有以下三种修改方法:

   document.getElementById("ctl00$编辑区ID$控件ID");
document.getElementById("ctl00_编辑区ID_控件ID");
document.getElementById("<%= 编辑区ID_控件ID.ClientID %>");

【上面前两个方法的“ct100”都是客户端生成的代码,我们只要改变原来的值就可以了,比如本例js代码可以改成这样:document.getElementById('ctl00_Label1').innerText=s;同样可以实现】

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/cxb_wind/archive/2007/11/26/1902929.aspx

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值