前言前端
通常而言,Textbox中有两个属性能够对其进行防止编辑的设定,这是最基础的知识,也是我要提出的前两种方法。然后两种方法实际为一种,但能够应用于不一样环境中。web
1、ReadOnly属性浏览器
这样设置,Textbox控件则限制不能输入,但能够读取已有文本,样式也与正常使用的Textbox一致。app
一、在前端设置Readonly为true,样式以下:测试
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="true" Text="测试"></asp:TextBox>
二、在后台设置Readonly为true,样式以下:this
TextBox1.ReadOnly = true;
2、Enabled属性spa
设置此属性会将Textbox控件变成反灰样式,不可点击。code
一、在前端设置Enabled为false,样式以下:server
<asp:TextBox ID="TextBox1" runat="server" Enabled="false" Text="测试"></asp:TextBox>
二、在后台设置Readonly为true,样式以下:blog
TextBox1.Enabled= false;
3、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>
4、onkeydown方法
设置onkeydown返回false,实际是使得控件不能由键盘输入,保留删除功能,同时能够经过剪切复制来删除赋值。此事件进一步设定能够实现限制仅数字输入或者仅字母输入等功能。
前端代码以下:
<asp:TextBox ID="TextBox1" runat="server" Text="测试" onkeydown="return false;"></asp:TextBox>