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


前言

一般而言,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>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM