快速业务通道

在MasterPage中使用javascript获取对象

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-10

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

   我在使用的时候遇到过一个问题,就是在使用了MasterPage的内容页中使用javascript获取内容页中的服务器控件时,获取不到对象。
   
   当时我的代码是这样的,举个例子:
   javascript部分:
         

 

在MasterPage中使用javascript获取对象function a()
{
var txt1
=document.getElementById("txt1");
}

在MasterPage中使用javascript获取对象         

 


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

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

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

   幸运的是我找到了另外一种相对可靠的解决方法,共享一下。
   JavaScript部分改成这样
 

 

function a()
{
var txt1
=document.getElementById("<%=txtVirusName.ClientID%>");
}

 

         这样就可以用了。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号