zoukankan      html  css  js  c++  java
  • 在MasterPage中使用javascript获取对象

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

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

                                       

       页面部分只有一个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%>");
    }
             这样就可以用了。
  • 相关阅读:
    c# 反射应用之工厂
    UnityContainer 实现DI
    TinyMCE 的音乐插件/mp3 music insert plugin
    Django on IronPython and Windows
    说说分页
    Katze 简单的.net "ORM"框架
    Discuz!NT在64位Windows下运行的问题
    恐怖的迅雷
    基于Gettext的asp.net网站多语言解决方案
    微软是如何输掉API之战(下)
  • 原文地址:https://www.cnblogs.com/msn/p/585788.html
Copyright © 2011-2022 走看看