比如一个textbox控件,客户端就是一个text型input,但使用了客户端脚本改变了该input的value值后(正确修改了,客户端可以看到修改),提交页面后(点了某个触发服务端事件的服务端控件后),服务端却不能用该textbox控件的text属性来取得值.为什么手工更改服务端可以取得值,但用脚本改变,却不能呢?这是不是和那段加了密的"__VIEWSTATE"数据有关系..真是头晕..希望能解决该问题.希望知道的高手不嗇指教..先谢谢了!!!!

解决方案 »

  1.   

    客户端修改的只能用
    C#
    Request.Form["客户端生成的name属性"]
    VB
    Request.Form("客户端生成的name属性")
    得到
      

  2.   

    如果这个textbox是服务器端控件,即runat=server,那么就可以通过text属性获取值。
      

  3.   

    js改变TextBox的值在后台可以取得到它的值呀,我一直都是这样用的,不会像楼主说的那个问题,
      

  4.   

    使用Request.Form取是一种办法,我以前没办法也只好这么做,但现在遇到新的问题了,我使用Anthem(ajax组件),改组件中的Anthem:textbox无刷新触发服务端事件后不能用Request.Form来取得值了,因为控件本身并没有进行提交表单,只是传递了值而已,但传递的值就是使用text属性取不了的空值(或是旧值).哎,头疼...好好的一个东西被这个给卡住了....
      

  5.   

    把它作为服务器控件运行,如果还不行,再设置它的AutoPostBack属性为True
      

  6.   

    没用的,只要是服务端控件,客户端用脚本改变值后,客户端就取不到,即使是input加了runat="server"后也一样,取不到改变后的值."设置它的AutoPostBack属性为True"也是没用的.会触发服务端事件,但也还是取不到值的...这个问题其实我已经想了很久了,现在我觉得是和那段加了密的"__VIEWSTATE"数据有关系..哎
      

  7.   

    textbox控件客户端用脚本改变值,服务端是可以正确取到的(使用text属性即可,不用request.form),估计楼主并不是用的textbox控件,如果是有些控件,确实是取不到值的.也许.net认为这些控件是不会改变text属性的.比如button这种.还有非.net控件,即使加了runat="server"改变值后也是取不到的. :)
      

  8.   

    用AJAX没有提交FORM所以INPUT控件是取不到值的!我以前试过!一直没有成功!可能还有别的方法!我也期待答案!
      

  9.   

    leomao(小奇) ( ) 信誉:100  2006-05-26 08:48:00  得分: 0  
     
     
       没用的,只要是服务端控件,客户端用脚本改变值后,客户端就取不到,即使是input加了runat="server"后也一样,取不到改变后的值."设置它的AutoPostBack属性为True"也是没用的.会触发服务端事件,但也还是取不到值的...这个问题其实我已经想了很久了,现在我觉得是和那段加了密的"__VIEWSTATE"数据有关系..哎
      
     不知道你用的是哪个版本,我现在还在用1.1,TextBox 在JS 里改了值,后台直接 .Text属性就能得到啊
      

  10.   

    感谢 caiCC(菜虫虫) 果然是他所说的一样,我开始用的是asp:button控件,改变改控件的value后服务端用text属性取不出来.果然换textbox控件就可以了!!哈哈太高兴了..
    以前我无法从文本框读数据是因为我不是使用textbox的,而是加了runat="server".因为那是一个在线编辑器,一定要用客户端input的.所以客户端取不到..原来是这样,又学到了一招..