从vs2003升级到vs2005的一个问题: 只读文本框(readonly textbox)不能在客户端修改值
2007-12-06 11:22
357 查看
做一个简单的实验先:
在vs2003中, 新建一个网页, 拖上一个textbox, 将它的readonly 设成true, 然后再放一个input: button, 给它写代码: document.getElementById("txt1").value="test"; 再放一个服务器端的button, 不用写代码.
好了, 开始运行, 点击客户端按钮, 会发现textbox 的值变成了test, 然后再点服务器端按钮使页面回传, 值仍然在, 也就是说, 服务器端的 txt1.Text 属性已经被成功更新了, 事实上, 这时候如果在txt1.OnTextChanged 事件的处理器中下断点, 可以看到事件被触发了.
但是, 在vs2005中, 做同样的动作, 点击服务器端按钮使页面回传后, textbox 的值就会丢掉, 给txt1.OnTextChanged 的处理器下断点, 发现事件没有被触发. 如果readonly 为false, 则服务器端的值被更新.
这一功能在vs 2005中的解决办法有:
<1> 不要将textbox 设为readonly , 而是在pageLoad 中, 为其增加一个readonly attribute, 这样在客户端它仍是只读的, 但是在服务器的眼里, 它不是只读的.
<2>用input:text 或其它代替textbox.
<3>在服务器端用Request.Form[txt1.UniqueID] , 可以取到更改后的值.
any way , 像我们公司一样, 在原来的项目中大量地应用了这一特性, 升级的时候, 大量的无聊工作就不可避免了.
真郁闷.
在vs2003中, 新建一个网页, 拖上一个textbox, 将它的readonly 设成true, 然后再放一个input: button, 给它写代码: document.getElementById("txt1").value="test"; 再放一个服务器端的button, 不用写代码.
好了, 开始运行, 点击客户端按钮, 会发现textbox 的值变成了test, 然后再点服务器端按钮使页面回传, 值仍然在, 也就是说, 服务器端的 txt1.Text 属性已经被成功更新了, 事实上, 这时候如果在txt1.OnTextChanged 事件的处理器中下断点, 可以看到事件被触发了.
但是, 在vs2005中, 做同样的动作, 点击服务器端按钮使页面回传后, textbox 的值就会丢掉, 给txt1.OnTextChanged 的处理器下断点, 发现事件没有被触发. 如果readonly 为false, 则服务器端的值被更新.
这一功能在vs 2005中的解决办法有:
<1> 不要将textbox 设为readonly , 而是在pageLoad 中, 为其增加一个readonly attribute, 这样在客户端它仍是只读的, 但是在服务器的眼里, 它不是只读的.
<2>用input:text 或其它代替textbox.
<3>在服务器端用Request.Form[txt1.UniqueID] , 可以取到更改后的值.
any way , 像我们公司一样, 在原来的项目中大量地应用了这一特性, 升级的时候, 大量的无聊工作就不可避免了.
真郁闷.
相关文章推荐
- 只读文本框(readonly textbox)不能在客户端修改值原因及解决办法
- listview练习,当连接类型为文本时图片地址的文本框隐藏,textbox渲染到客户端的ID不是服务端所写的clientID,只能另外添加一个属性myid
- vs2003升级到vs2005常出现的几个问题总结
- Csdn论坛关于一个模板特化不能执行的问题的修改
- TextBox文本框中的数据只能读取不能修改、填写
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题
- 关于cas-client单点登录客户端拦截请求和忽略/排除不需要拦截的请求URL的问题(不需要修改任何代码,只需要一个配置)
- 我把一个VC6的工程转换为VS2008的工程后,编译总是出现找不到而且不能升级vc90.pdb文件的问题,error C2471--解决办法 2010-9-16 15:01
- 一个VC6的工程转换为VS2008的工程后,编译找不到而且不能升级vc90.pdb文件的问题解决方法 2010-9-28 14:00
- vs2005 不能新建asp.net(一个极郁闷的问题+极郁闷的解决方案)
- ASP.Net TextBox 只读(ReadOnly)时后台不能赋值取值
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题【转】
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题(转)
- 【原创】[C#]解决 vs2003 升级 vs2005 中文乱码问题
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题(转)
- 新安装的VS2003出现了一个问题-不能新建项目!
- 不能修改texture2D返回的颜色值?OpenGL ES fragment shader在 iPad2上的一个问题
- VS2003升级到VS2005后遇到的问题
- vs2005不能调试的一个问题
- 今天通过修改Oracle 数据库解决的一个ERP不能打出验收单问题.