C#的TextBox的四种禁止编辑方法

Stella981
• 阅读 1042

前言

一般而言,Textbox中有两个属性可以对其进行防止编辑的设定,这是最基础的知识,也是我要提出的前两种方法。而后两种方法实际为一种,但可以应用于不同环境中。

一、ReadOnly属性

这样设置,Textbox控件则限制不能输入,但可以读取已有文本,样式也与正常使用的Textbox一致。

1、在前端设置Readonly为true,样式如下:

<asp:TextBox ID="TextBox1" runat="server" ReadOnly="true" Text="测试"></asp:TextBox>

2、在后台设置Readonly为true,样式如下:

TextBox1.ReadOnly = true;

二、Enabled属性

设置此属性会将Textbox控件变成反灰样式,不可点击。

1、在前端设置Enabled为false,样式如下:

<asp:TextBox ID="TextBox1" runat="server" Enabled="false" Text="测试"></asp:TextBox>

2、在后台设置Readonly为true,样式如下:

TextBox1.Enabled= false;

三、onfocus方法

设置JS的事件,onfocus事件指的的是光标移到到此控件,this.blur()是将光标移开,如此便能够达到不能编辑的目的,代码如下。

<asp:TextBox ID="TextBox1" runat="server" Text="测试" onfocus="this.blur();"></asp:TextBox>

补充:设置TextModel样式

使用CSS代码,设置TextModel属性。与上面方法结合,这样设置的好处是在一些浏览器中不仅能实现不能编辑的目的,还能够保证原有的"X"号存在,保留清除控件内容的功能。经检测,在IE浏览器不支持此功能,但Google浏览器可以。

前端代码如下:

<asp:TextBox ID="TextBox1" runat="server" Text="测试" TextModel="search" onfocus="this.blur();"></asp:TextBox>

Css样式如下:

<style>
    Input[type=search]::-webkit-search-cancel-button
    {
    -webkita-appearance: searchfield-cancel-button;
    }
</style>

四、onkeydown方法

设置onkeydown返回false,实际是使得控件不能由键盘输入,保留删除功能,同时可以通过剪切复制来删除赋值。此事件进一步设定可以实现限制仅数字输入或者仅字母输入等功能。

前端代码如下:

<asp:TextBox ID="TextBox1" runat="server" Text="测试" onkeydown="return false;"></asp:TextBox>
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
2年前
SpringMVC当中的 @Transactional(readOnly = true) 的作用
readOnlytrue表明所注解的方法或类只是读取数据。readOnlyfalse表明所注解的方法或类是增加,删除,修改数据。如果设置为true,spring会对其优化,可以用来提高性能。readOnly为true时读取的数据如果缓存中存在就从缓存中读取这是没有问题的readOnly为false时读取的数据就不能从缓存
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
html文本框不可编辑,禁止用户修改的几种方法
解决思路: 在文本框的内容只作于演示而不允许用户随意修改时这样做就非常有必要。具体步骤: 方法一:设置readonly属性为true。Html代码<inputtype"text"value"readonly"readonly  <inputtype"text"value"readonly"
Stella981 Stella981
2年前
Sass
嵌套规则(NestedRules)Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器mainp{color:00ff00;width:97%;.redbox{
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
Java日期时间API系列30
  实际使用中,经常需要使用不同精确度的Date,比如保留到天2020042300:00:00,保留到小时,保留到分钟,保留到秒等,常见的方法是通过格式化到指定精确度(比如:yyyyMMdd),然后再解析为Date。Java8中可以用更多的方法来实现这个需求,下面使用三种方法:使用Format方法、 使用Of方法和使用With方法,性能对比,使用