日期:2014-05-20  浏览次数:20362 次

讨论.ascx用户控件的缺陷
用户控件不能产生Session问题
付翔:我自已写了一个用户控件,点了按钮不能产生Session
用户控件导致js代码失码,主要体现   前台用JavaScript代码无法取到   服务器控件的值
Function   getValue()  
{
  var   strText   =document.all.TB.value   alert( "ok ");  
alert(strText);  

//   document.all( "TB ").value= "123 ";//这样可以赋值
  //document.FormName.TB.value   = "abcd ";
  //document.forms[0].elements[ "TB "].value   =   "abcd ";  

}
在.aspx页面正常,如果是.ascx加载的,取值得操作则没有任何反应


------解决方案--------------------
改scricpt代码加类名
------解决方案--------------------
...这两个问题都不是问题, 看你的JS写法, 水平还很基础呀...
然, 我发现 .NET 使用用户控件, 多了一层, 但代码复用和灵活应用是最高的...
------解决方案--------------------
“点了按钮不能产生Session”不懂何义。

而“document.all.TB”根本是错误的。有些人把页面输出到客户端浏览器,然后到那个上面去看控件的客户端id,然后再修改javascript代码,这不是累死自己了嘛。控件随时可能方法不同的地方,那时客户端id就又变成新的啦。

客户端id是控件的ClientID属性输出的,不要以为控件的ID就是在html上的客户端ID。
------解决方案--------------------
dING
------解决方案--------------------
http://www.google.com/search?hl=zh-CN&newwindow=1&rls=com.microsoft%3Aen-US&q=clientid+html+javascript+%E5%AE%A2%E6%88%B7%E7%AB%AFid&lr=lang_zh-CN%7Clang_zh-TW

以后自己查吧!如果“请问怎么获取ClientID?”这样的问题都放在论坛上,论坛就要被压垮了。