在MasterPage中使用javascript获取对象

   MasterPage是VS.net 2005里面的新东西,好象还有很多人都没有用到过,具体使用方法天轰穿的教程里面讲解得比较详细,我就不罗嗦了。

   我在使用的时候遇到过一个问题,就是在使用了MasterPage的内容页中使用javascript获取内容页中的服务器控件时,获取不到对象。
   
   当时我的代码是这样的,举个例子:
   javascript部分:
         
None.gif function a()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gifvar txt1
=document.getElementById("txt1");
ExpandedBlockEnd.gif}

None.gif                                   

   页面部分只有一个textbox,ID=txt1;
 
             用上面的代码是会出错的,调试信息是javascript获取不到对象。通过调试,我发现在页面生成之后去查看源代码,会发现内容页中的textbox id会被改成类似这样一个东西 ctl00$ContentPlaceHolder1$txt1

   因此,这里就衍生出其中一种解决方案,我试了一下,把这个 ctl00$ContentPlaceHolder1$txt1去替代javascript中的txt1,程序是可以起作用的。
   但是这样会带来一个问题。ctl00$ContentPlaceHolder1$txt1是程序自动生成的,我们不知道什么时候程序会去改变他,有很大的不可靠性在里面,如果程序把这个id改变了,那么我写的javascript就不起作用了。

   为了这个问题我在CSDN的javascript版上问了好久,都没有人能给我解答。

   幸运的是我找到了另外一种相对可靠的解决方法,共享一下。
   JavaScript部分改成这样
None.gif function a()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gifvar txt1
=document.getElementById("<%=txtVirusName.ClientID%>");
ExpandedBlockEnd.gif}
         这样就可以用了。
  有什么问题,请回复给我,继续讨论研究一下。 

转载于:https://www.cnblogs.com/bingxuefly/archive/2006/12/07/585373.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值