textbox readonly的问题

项目中需要把一个地段设置成只读的,只让用户选择,而不让用户输入和更改。开始就直接给textbox 加上readonly=true的属性,后来发现提交页面后,在后台取不到textbox的值。

后来查MSDN得知,发生回发时,TextBox 控件(其 ReadOnly 属性设置为 true)的 Text 值被发送到服务器,但是服务器不处理只读文本框。这样可以防止恶意用户更改只读的 Text 值。在回发之间,Text 属性的值保留在视图状态中,除非经过服务器端代码修改。

网上有很多解决方法,我觉得有一个很绝,叫做 contentEditable 的属性,下面是关于该属性的介绍:

contentEditable 是html中的一个属性。设置html的contentEditable=‘true’时,即可开启该元素的编辑模式。

Html中的contentEditable的属性可以打开某些元素的可编辑状态.也许你没用过contentEditable属性.甚至从未听说过.contentEditable的作用相当神奇.可以让div或整个网页,以及span等等元素设置为可写.我们最常用的输入文本内容便是input与textarea 使用contentEditable属性后,可以在div,table,p,span,body,等等很多元素中输入内容.

这样的话,就好解决了,在page load 里面加上 textbox.Attributes["contentEditable"] = "false" 即可。

Technorati 标签: asp.net, textbox readonly

转载于:https://www.cnblogs.com/szny/archive/2011/04/13/2014879.html

1. 基于STM32的1.28寸圆形IPS屏(GC9A01)驱动移植实战:软件SPI与硬件SPI双方案详解 本文详细介绍了如何在STM32平台上为1.28寸圆形IPS屏(GC9A01驱动芯片)移植驱动程序,涵盖软件SPI与硬件SPI两种实现方案。内容从引脚定义、工程搭建、GPIO配置到SPI外设初始化逐步详解,并提供了完整的测试代码,帮助开发者根据项目需求(灵活性或性能)选择合适的通信方式,快速点亮屏幕并集成到智能手表等嵌入式项目中。 阅读详情

相关推荐

(五)激光线扫描-位移台标定

线激光属于主动测量方式,但是由于线激光的特性,我们只能通过提取激光中心线获取这一条线上的高度信息,那么要进行三维重建的话,就需要通过平移或者是旋转的方式,来让线激光扫描被测物体的完整轮廓,也就是整个表面。激光线的密度越高还原出来的物体越细腻,但由于数据量大,也会导致速度变慢。下面以位移台为例讲解,如何标定位移台。

FlyWine的博客 2839

TextBoxReadOnly属性

如果TextBox服务器控件的ReadOnly属性设置为True,在服务器端将得不到TextBox服务器的值。这是为了安全性考虑,在服务器端不处理只读文本框。 @ Page Language="C#" AutoEventWireup="true" CodeFile="Default8.aspx.cs" Inherits="Default8" %> DOCTYPE html PUBL

summer_grass的专栏 2565

【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务

【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务 | 【赛题解析&命令脚本配置】2024年第十七届山东省技能大赛 | 网络系统管理”赛项-模块B:Linux服务部署 & ⑤客户端OutsideCli和InsideCli工作任务

君逍遥o 284

关于TextBox的Enable与ReadOnly属性

大家都知道TextBox编译到客户端浏览器其实是控件,而Enabled与Readonly编译到浏览器的代码是disabled和ReadOnly。为什么要说这两个属性呢,因为这两个属性跟我们后台编程时取值有关系。在.Net 1.1和.Net 2.0平台下,如果把TextBox的Enabled设置为True,而我们通过脚本修改控件的值后,在后台是取不到修改后的值的。也就是说后台代码是取不到属性En

3841

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法

TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空” 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内容,这时就比较尴尬了。 刚开始是换成Html 里的  ,不过后来发现这个工作量是很大的, 所以网上搜了下,没找出TextBox ReadOnly="true" 页面填充值取

u013430672的专栏 614

设置Textbox只读属性,ReadOnly or ContentEditable

.net中,对Textbox控件设置只读属性时如果用下面的方式        TextBox1.ReadOnly = true;可以看到页面上的TextBox的确不能编辑了,但是在后台代码里却也无法取到TextBox.text了,取到的是null,正确的做法时设置TextBox的本地属性,contentEditable,方法如下        TextBox1. Attributes["cont

小肥的专栏 5947

miniUI实现指定行可编辑,其他行仍然只读

miniUI实现指定行可编辑,其他行不可编辑

zidieq的博客 2112

【Ajax】CalendarExtender与TextBox Readonly问题

最近在看一些.NET Ajax的东西,发现一个小问题,就是当我在将TextBoxReadOnly属性设置为true的时候,使用CalendarExtender后无法获得TextBox.Text的值。 在选择日期的时候,不允许用户修改TextBox里的值,这是比较常见的一种做法,目的是不希望再对用户的输入做进一步的格式验证。请看下面的代码: view plai...

DreamWeaver2015的博客 143

Easyui的textbox组件的readonly方法后text值覆盖value值的问题

简单描述下问题: 1、首先设置textbox的text值和value值不同,第一次和第二次获取的值一致; 2、在执行readonly方法之后,text属性值会覆盖value属性值; 3、在readonly之后需要重新设置value和text的值才不影响使用(在readonly之前先存储一下value和text的值,readonly之后重新赋值); 略坑。。。 <input id="testInput" name="testInput"/> $("#testInput").tex.

落叶林 776

TextBox ReadOnly 设置为 true 的时候后台无法取值的问题

TextBox中,若将 ReadOnly 设置为 true,然后在前台设置此 TextBox 中的值,则无法在后台 .cs 文件中通过此 TextBox 的 ID 获取值,为了解决这一问题,有如下两种解决方案:    1. 后台使用 Request.Form[id] 来取值,此方法不推荐,如果后台刷新页面回导致数据丢失,并且也不符合 TextBox 对象使用习惯,造成前后代码取值方式不一致看着不舒...

码渣Leon的博客 940

ASP.NET 2.0 中TextBoxReadOnly属性问题

      当我们不想让页面上TextBox编辑时,一般会设置TextBoxReadOnly属性,可是有时候会出现一种情况,当我们在客户端中使用Javascript给TextBox赋值时,在服务器端获取不到TextBox的值,      造成这一问题的原因是Net Framework2.0对TextBox的改变,分析一下Net Framew2.0的源代码就可以得知:.NET 1.1中,

atian15的专栏 977

ASP.NET: TextBox控件如果设置为ReadOnly则PostBack之后可能丢失数据的问题

这是在项目中发现的一个小问题TextBox控件应该是设计使然。有关的解决方法是,不要直接设置ReadOnly=true,而是通过Javascript的方式为其添加readonly的attribute。例如下面这样做   .csharpcode, .csharpcode pre { font-size: small; color: black; font-fa

陈希章@中国 934

TextBoxReadOnly 属性脚本不兼容问题

通常,我们会对 TextBox 加上 ReadOnly="true" 来避免用户的直接输入,这个服务端属性,会在客户端的 HTML input 中输出 readonly="readonly",在 1.1 中,这一切运行得很好,但在 3.5 里,出现了问题,客户端脚本不再可修改 ReadOnly="true"的 TextBox 的值,所以选择器就永远无法选到值。其实,客户端脚本的确改变了 HTML ...

weixin_30667301的博客 117

ASP.NET中将TextBox设置成只读属性的方法

方法一: 昨天在测试一个asp.Net2.0的页面时,由于一个textbox需要控制用户输入格式,采用脚本方式改变内容,为了防止用户直接输入内容,因此随手把textbox的属性readonly设置为了true. 结果可想而知,不论客户端脚本怎么改变textbox的值,服务端里的text属性始终保持初始值不变,由于昨天调试的时候已经快下班了,一时有点发蒙。今天早上来了猛然想到可能跟这个readonly的属性有关系,因为它是服务端属性,于是去掉这个属性设置,结果就正常了。既然服务端属性和客户端属性重名,

zq9955的博客 2572

php+输入框只读,设置文本框只读(textbox/input readonly)不允许输入

文本框一般是用来让用户输入填写资料的,但有的时候只是用它来显示资料,也就是不允许输入任何内容,这应该怎么设置?只要添加一个只读属性(readonly)就能达到这个目的。文本框有两种,一种为服务器控件 textbox,另一种为 html 元素 input text;它们都可以设置 readonly 属性,即 textbox readonly 和 input readonly。一、设置文本框只读之 i...

weixin_28691441的博客 1161

小心使用 asp:TextBoxReadOnly属性

      曾经遇到过这样的问题:使用了一个只读的TextBox控件,但是在后台代码中却怎么也得不到其 Text 属性值。后来偶然发现了问题所在,请看下面摘自msdn的一段话: 重要事项:发生回发时,TextBox 控件(其 ReadOnly 属性设置为 true)的 Text 值被发送到服务器,但是服务器不处理只读文本框。这样可以防止恶意用户更改只读的

石上清泉de博客 1184

textbox readonly

最近在完善个项目,发现个小问题 当 TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空” 原理没想通,说不清楚微软是出于什么考虑的, 不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内容,这时就比较尴尬了。 刚开始是换成Html 里的  ,不过后来发现这个工作量是很大的, 所以网上搜了下,没找出TextBox...

qizhanfeng的专栏 159

Halcon缺陷检测OpenCV.rar

halcon缺陷检测Halcon缺陷检测OpenCV实例

万能表单v8.2.0-开源等.zip

最新版本PHP表单系统,支持多图上传,录音上传,视频上传

0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值