小心使用 asp:TextBox 的ReadOnly属性

C#进阶核心:委托、反射、泛型与异步编程实战解析 在C#编程中,委托与事件是实现解耦和发布-订阅模式的关键机制,它们通过类型安全的函数指针和封装,为构建松耦合架构提供了基础。反射技术则赋予程序在运行时动态加载和操作类型的能力,是实现插件化架构和动态扩展的核心原理。泛型通过类型参数化,解决了代码复用和类型安全的问题,而协变与逆变进一步提升了API的灵活性。异步编程通过async/await状态机模型,不仅避免了界面卡顿,更优化了I/O密集型操作的资源利用率。这些技术共同构成了C#处理复杂业务逻辑、实现高性能应用和与外部系统(如数据库、串口、OPC服务器)交互 阅读详情

      曾经遇到过这样的问题:使用了一个只读的TextBox控件,但是在后台代码中却怎么也得不到其 Text 属性值。

后来偶然发现了问题所在,请看下面摘自msdn的一段话:

 

Note重要事项:

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

 

服务器端 ViewState 中虽然含有 TextBox.Text 值,但是默认没有做解析,因此无法取到。

那么我要是不怕风险,一心就想获取只读文本框的值该咋办呢,至少有下面几个思路:

1. 在后台代码中添加自个儿的解析代码,把值从 ViewState 里取出来赋给 Text 属性(没试过,应该可以);
2. 换用别的文本框控件,比如 input 什么的;
3. 不要直接在标记声明中使用readonly属性,改为通过在后台代码中用txtBox1.Attributes["readonly"] = "true"来设置,或js中用document.all("txtBox1").readOnly=true;(没错这样就可以,因为后台认定一个 TextBox 是否只读是在编译时发生的)

C#进阶实战:异步编程、内存管理与反射泛型核心解析 在软件开发中,异步编程是提升应用响应性和吞吐量的关键技术,其核心原理在于通过状态机和协作式多任务模型,高效管理I/O密集型操作,避免线程阻塞。内存管理则涉及托管与非托管资源的交互,理解指针与平台调用(P/Invoke)机制对于高性能计算和原生库集成至关重要。反射与泛型作为元编程的基石,允许开发者在运行时动态操作类型信息,并在编译时确保类型安全,极大地增强了代码的灵活性与复用性。这些技术共同构成了现代C#工程实践的底层支撑,广泛应用于高并发Web服务、桌面应用开发、游戏引擎及跨语言互操作等场景。本文聚焦C#进 阅读详情

相关推荐

别再硬啃理论了!手把手教你用Simulink搭VSG并网模型,模拟线路故障(含三相故障模块详解)

本文提供了一份详细的Simulink VSG并网模型搭建指南,特别聚焦于三相故障模块的配置与仿真。通过逐步指导,帮助电力电子工程师掌握从基础电路搭建到复杂故障模拟的全流程,包括单相接地、两相短路等典型故障的波形分析与参数设置技巧,有效弥合理论与实践的鸿沟。

weixin_29057237的博客 287

ASP.NET TextBox只读属性下的获取和赋问题

ASP.NET中,TextBox控件有一个只读属性ReadOnly),当设置为只读时,用户无法在前端页面修改文本框的。通过使用HiddenField或JavaScript的方式,我们可以绕过只读属性的限制,实现对只读TextBox的操作。如果需要获取只读TextBox,我们可以使用HiddenField来存储这个,并在后台代码中访问HiddenField来获取。在这个示例中,我们在页面加载完成后,使用JavaScript将只读TextBox设置为"New Value"。

pytorchCode的博客 796

Badcase归因分析“四部曲”

badcase是业内的专业名词,简单解释一下。bad是坏,case是案例,说白了就是模型或者具体规则无法很好预测的那些案例。以分类模型为例,本来一个样本应该是负类的,结果预测为正类,那这个样本就能被称为bad case。那相对应的就是good case就是优秀案例。

qq_25438419的博客 3387

小心使用Asp:TextBoxReadOnly属性

昨天下午的考试系统代码代码走查中,发现一个很小的Bug,如下图所示:当文本框获得焦点后,弹出日期控件,根据选择,将日期显示在文本框中。但是,这里发现:日期是可以胡乱修改的哦! 那么,我该如何解决这个问题呢?当初在思考问题的时候,共提供两种解决方案:     1、文本框的内容是可以手动输入的,但是需要对输入的内容进行验证:看看是否符合“日期”格式。     2、控制文本框只能选择日

chestnut 2455

ASP.NET中TextBox控件设立ReadOnly="true"后台取不到

SP.NET中TextBox控件设置ReadOnly="true"H或Enabled=false后台取不到   当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了后台是取不到的,为“空”  。        方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下:          方法二:设置了R

suxuelian的博客 1139

asp.net后台获取不到前端的TextBox(readonly=true)文本

文章目录

chen的博客 1882

asp.net 文本控件readonly与disable的区别

1、readonly表示此域的不可修改,仅可与 type="text" 配合使用,可复制,可选择,可以接收焦点,后台会接收到传. 在后台接收参数使用:Requst[“vName”]2、disabled表示禁用input元素,不可编辑,不可复制,不可选择,不能接收焦点,后台也不会接收到传 另外可以通过css屏蔽输入法:<input style="ime-mode: disabled">

高级项目经理、专注于技术架构、分享项目管理及职场心得 1146

TextBoxReadOnly属性

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

summer_grass的专栏 2565

TextBox 如何运用

1. TextBox 如何设置onFocus和onBlur &lt;asp:TextBox ID="LoginID" onFocus="checkAccount();" onBlur="checkAccount1();" runat="server"&gt;&lt;/asp:TextBox&gt;  或者   &lt;asp:TextBox ID="LoginID

飞奔的火鸟 653

textbox readonly的问题

项目中需要把一个地段设置成只读的,只让用户选择,而不让用户输入和更改。开始就直接给textbox 加上readonly=true的属性,后来发现提交页面后,在后台取不到textbox。 后来查MSDN得知,发生回发时,TextBox 控件(其 ReadOnly 属性设置为 true)的 Text 被发送到服务器,但是服务器不处理只读文本框。这样可以防止恶意用户更改只读的 Text 。在回...

weixin_30736301的博客 246

asp:textbox 设置为只读的

页面中有些内容是不允许用户修改的,例如:修改密码时,用户名不需修改,这时想把用户名的输入框设置成不可输入的。 这时用到readonly属性,解释为获取或设置一个,用于指示能否更改 TextBox 控件的内容。 属性:如果不能更改 TextBox 控件的内容,则为 true;否则为 false。 默认为 false。 资料来源:http://msdn.microsoft.com/zh-c

芒果 3441

asp.net 子页面使用js给ReadOnlyTextBox

主页面 前台代码:

nvhaixx的专栏 1182

只读文本框(readonly textbox)不能在客户端修改原因及解决办法

ASP.NET中 TextBox控件使用 ReadOnly="true" 属性

sage425的专栏 4347

html中input type="text" 的readonly 属性asp.net服务器控件TextBoxreadonly属性的js赋、调用的小bug

我还是个刚刚入门的程序猿与大家分享下最近我做的一个项目,如有错误,请大师们指点一二! HTML: 登陆账号

yzm910823的专栏 2163

关于服务端控件textbox的disabled属性设置为disabled后在服务端无法取的问题

asp.net 1.x版本中,当textbox控件的disabled属性设置为disabled的时候看,在服务端还是可以通过控件id.text获取textbox的,只是不能输入而已。但是在以后的版本中,你会发现当textbox设置为disabled以后,服务端你无法通过控件ID.text来获取textbox了,其中的一中解决的方法如下: 在aspx页面...

weixin_30511107的博客 326

设置Textbox只读属性ReadOnly or ContentEditable

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

roden的专栏 8011

ASP.NET中将TextBox控件的Readonly

TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了后台是取不到的,为“空”。经过尝试,发现可以通过如下的方式解决这个问题:   方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下:         在此情况下,当文本框获得焦点时便立刻失去,所以也无法手动修改其内容,能够模拟ReadOnly,在后台代码中也能通过Text

愚睿^_^的专栏 476

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

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

zq9955的博客 2572

textbox readonly

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

qizhanfeng的专栏 159

YOLO车辆数据集 目标检测

该数据集是带标签的车辆图像。数据集大小: 3000 张图像;每类: 500 张图像;格式: YOLO (txt);训练集/验证集划分: 70% (2100 张图像) : 30% (900 张图像)类型:汽车三轮车巴士 卡车摩托车面包车

上一篇: 关于 [无效的 FORMATETC 结构] 的问题
下一篇: .net 中调用 webservice 的N中方法(终于可以孔乙己一把了 ^_^)
Red_Stone
博客等级 码龄21年 8粉丝 24原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值