zoukankan      html  css  js  c++  java
  • 从vs2003升级到vs2005的一个问题: 只读文本框(readonly textbox)不能在客户端修改值

    做一个简单的实验先:
    在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 , 像我们公司一样, 在原来的项目中大量地应用了这一特性, 升级的时候, 大量的无聊工作就不可避免了.
    真郁闷.
  • 相关阅读:
    java提高篇(二四)-----HashSet
    链表(线性表)
    逆置线性表(线性表)
    Android布局_表格布局TableLayout
    Android布局_布局概述和LinearLayout布局
    Android_用户界面概述和数据单位
    Android_SDK的常用命令
    Android_程序结构分析
    CSS3_边框属性之圆角的基本图形案例
    CSS3_边框属性之圆角
  • 原文地址:https://www.cnblogs.com/Moosdau/p/984959.html
Copyright © 2011-2022 走看看