(转)解决Asp.net中文本框控件(TextBox)readonly或disabled时内容无法POST到服
来源:互联网 发布:美发股份分配怎么算法 编辑:程序博客网 时间:2024/05/18 13:46
网页中有的时候想让用户无法在文本框控件(TextBox)里输入,常见的方法是把它的ReadOnly属性设为True,或者是将Enabled属性设为False。这两种方法的作用差不多。另外还可以用标签代替或者写脚本处理文本框获得焦点事件。后两者我们暂不讨论。
使用前两种方面会碰到一个问题,在客户端用脚本改变了文本框控件的内容,但是当网页提交时,修改后的内容不会被提交到服务器的,服务器上仍然使用前一次的内容。
为了解决问题,上google搜了一下,找到这样一篇文章,说的是二者之间的区别:
http://www.vikramlakhotia.com/ReadOnly_and_Enabled_property_of_TextBox_.aspx
但不幸的是,这里面的观点好像是错的,至少我根据他的说法做了一些试验,结果都不对。
一种已知的解决方案是,当网页提交的时候,用脚本把文本框的readOnly设置为false,disabled设置为false,提交完成后再改回来。当然,如果整个页面都被刷新掉了,那后面那个改回来的步骤就没必要了。
这种方案的局限性是,修改文本框属性这个动作必须在post动作之前。假设我们现在是想在按了一个按钮控件后,将文本框内的内容传到服务器,按钮有两个事件,一个是OnClientClick,一个是OnClick,前者在客户端执行,后者在服务器执行。经过试验,如果在OnClientClick里面修改文本框属性的话,这段脚本会执行,但是服务器拿到的还是原来的内容。这似乎意味着(但是如果在这段脚本写一个return false;OnClick事件就不会发生,这几个事件发生的顺序值得专门找个时间看一下)
后来看到了这篇文章:
http://www.velocityreviews.com/forums/t113398-server-side-controls-disabled-in-javascript.html
里面讨论的时候说,文本框控件本身有readonly和enabled属性,生成的html代码也有对应的readonly和disabled属性,如果我们修改的是后面那一套属性,那么就不会发生无法提交上去的问题。也就是说,我们可以在程序里面用类似于
- TextBox1.Attributes["readonly"] = "false";
这样的代码来设置,而不是直接设置TextBox的ReadOnly和Enabled属性
- (转)解决Asp.net中文本框控件(TextBox)readonly或disabled时内容无法POST到服
- ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性
- ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性
- ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性
- ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性
- ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性
- ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性
- ASP.NET 2.0中TextBox服务器控件的ReadOnly和Disabled属性
- ASP.NET 中TextBox设置ReadOnly="true" 无法取到值的做法(转)
- asp.net textbox readonly
- ASP.NET 2.0中ReadOnly的TextBox
- ASP.NET 2.0中ReadOnly的TextBox
- ASP.NET 2.0中ReadOnly的TextBox
- 解决asp.net 的textbox设置成readonly就拿不到内容的问题
- ASP.NET 中TextBox设置ReadOnly="true" 无法取到值的做法
- ASP.NET 中TextBox设置ReadOnly="true" 无法取到值的做法
- ASP.NET 中TextBox设置ReadOnly="true" 无法取到值的做法
- asp.net C#用JavaScript获取JS显示得到TextBox文本框控件text值内容
- NDK+Cygwin环境搭建
- WPF 媒体播放器
- gdb调试
- Ubuntu 天气预报控件
- JSP中的脚本、指令、动作和注释标识
- (转)解决Asp.net中文本框控件(TextBox)readonly或disabled时内容无法POST到服
- C++多态问题分析
- QT 的信号与槽机制介绍
- zoj1402
- 数据绑定控件之一DataList控件的使用
- dtree 的 使用 target 对应 ifame 的 name 而不是 id
- 技术/源码/开源网站
- Hibernate 中映射文件的配置模板
- 音视频同步