一个javascript的小问题(顶者有分)

时间:2020-12-12 17:37:22
最近写了一个.aspx文件,一切运行正常。后来想把它加入到母版页中,运行以后发现我在js文件里面写的document.all("controlId")结果为空,这个controlId是内容页的控件ID,而当我把controlId换成母版页中的控件ID时,就可以找到该控件,现在我想js文件中取得内容页中的控件id,应该怎么do呢?

31 个解决方案

#1


document.all("<%=controlId.ClientID%>")

#2


在运行显示的那个页面,查看源文件找到它的ID号是什么!

#3


你看看的html里面,controlId已经变了

使用controlId.ClientID即可

#4


服务器控件到客户端后ID会变化的
你可以换成html控件就可以解决

#5


受教

#6


window.frames("frame.ID").document.all("controlId")这样取

#7


我将document.all("controlId")换成了document.all("<%=controlId.ClientID%>"),但是运行结果还是一样的,因为我的程序后面调用了该控件(一个表)的一些内容,所以找不到表后面就报错了。是不是因为母版页隐藏了内容页的控件啊?

#8


我这里本身就是客户端的控件

#9


中国队刚才一分绝杀斯洛文尼亚,真是令人高兴啊,可是我的问题还是搞不定,头痛

#10


高兴中

#11


ding

#12


这好像和以前用户控件加到页面上后ClientID会变一个道理
用孟子提供的document.all("<%=controlId.ClientID%>")方法即可

#13


球赢了,俺的问题也解决了。:-)
当网页加入进母版页中后,再继续用document.all("controlId")就会出错,原因就是母版页的<asp:contentplaceholder></asp:contentplaceholder>包含了内容页的控件,这个控件的Id就发生了变化,如果还是用这个Id的话,肯定就找不到这个控件,而应该换成ctl00_myContentPlaceHolder1_controlId,至于为什么是ctl00,俺还不清楚,有知道的请指点一下,谢谢

#14


学习ing 。。。。。。。。。

#15


可能是开始我没有说清楚,我的控件本身就是客户端控件,所以不是由服务器端控件转化到客户端控件的问题,不过我现在知道了本质上是类似的

#16


把document.all("controlId")换成了document.all('<%=controlId.ClientID%>')试试?也许可以撒

#17


球赢了+问题解决了+得到“孟子e章”和大家的帮助和光临=俺今天很高兴

#18


up

#19


恭喜,那个三分球进行太爽了!

#20


恩 给我分

#21


幸亏陈江华没有上场,不然中国队就会多n个失误和犯规。

#22


但是我却遇到  document.all("controlId.ClientID")都无法访问webcontrol哦~~!正在郁闷中!

#23


。NET新手,学习中

#24


晕 孟子把这么简单的题目都不放过 呵呵

#25


up

#26


学习

#27


学习,

#28


ding.

#29


up

#30


支持一下

#31


mark , 学习 ~

#1


document.all("<%=controlId.ClientID%>")

#2


在运行显示的那个页面,查看源文件找到它的ID号是什么!

#3


你看看的html里面,controlId已经变了

使用controlId.ClientID即可

#4


服务器控件到客户端后ID会变化的
你可以换成html控件就可以解决

#5


受教

#6


window.frames("frame.ID").document.all("controlId")这样取

#7


我将document.all("controlId")换成了document.all("<%=controlId.ClientID%>"),但是运行结果还是一样的,因为我的程序后面调用了该控件(一个表)的一些内容,所以找不到表后面就报错了。是不是因为母版页隐藏了内容页的控件啊?

#8


我这里本身就是客户端的控件

#9


中国队刚才一分绝杀斯洛文尼亚,真是令人高兴啊,可是我的问题还是搞不定,头痛

#10


高兴中

#11


ding

#12


这好像和以前用户控件加到页面上后ClientID会变一个道理
用孟子提供的document.all("<%=controlId.ClientID%>")方法即可

#13


球赢了,俺的问题也解决了。:-)
当网页加入进母版页中后,再继续用document.all("controlId")就会出错,原因就是母版页的<asp:contentplaceholder></asp:contentplaceholder>包含了内容页的控件,这个控件的Id就发生了变化,如果还是用这个Id的话,肯定就找不到这个控件,而应该换成ctl00_myContentPlaceHolder1_controlId,至于为什么是ctl00,俺还不清楚,有知道的请指点一下,谢谢

#14


学习ing 。。。。。。。。。

#15


可能是开始我没有说清楚,我的控件本身就是客户端控件,所以不是由服务器端控件转化到客户端控件的问题,不过我现在知道了本质上是类似的

#16


把document.all("controlId")换成了document.all('<%=controlId.ClientID%>')试试?也许可以撒

#17


球赢了+问题解决了+得到“孟子e章”和大家的帮助和光临=俺今天很高兴

#18


up

#19


恭喜,那个三分球进行太爽了!

#20


恩 给我分

#21


幸亏陈江华没有上场,不然中国队就会多n个失误和犯规。

#22


但是我却遇到  document.all("controlId.ClientID")都无法访问webcontrol哦~~!正在郁闷中!

#23


。NET新手,学习中

#24


晕 孟子把这么简单的题目都不放过 呵呵

#25


up

#26


学习

#27


学习,

#28


ding.

#29


up

#30


支持一下

#31


mark , 学习 ~