1.TextBox概述
在ASP.NETWeb应用程序中,TextBox控件是文本框控件。用于在网页表单中,让用户输入文本内容,收集用户信息,然后再将收集到的信息发送到服务器端。
TextBox控件对应于Html中的inputtype=“text”标记。
在VisualStudio中,可以直接将TextBox文本框控件拖放到需要的位置上,如果网页采用表格布局,则直接拖放到相应的单元格上即可,使用方法与Label控件是一样的。
如下图是在VisualStudio的ASPX页面上拖放的TextBox控件。
上图中,在div标记中添加了2个Web服务器控件,一个是Label控件,一个是TextBox控件,这2个控件一般同时出现,Label用于显示标签文本,TextBox用于输入文本内容。
2.TextBox属性
TextBox在C#中其实就是一个类,其中包括了许多的属性和方法。其中在ASPX页面上,使用的就是属性。
TextBox存在于System.Web.UI.WebControls命名空间中。
2.1.ID属性
ID属性是每个ASP.NETWebForm应用程序服务器控件必须具备的属性,用来指定控件的唯一ID值。
在同一个ASPX页面中,每个控件的ID属性值不能重复。
TextBox控件的ID值最好以“txt+有意义的单词”组成,便于后台C#代码中识别并赋值和获取值。
在上图中,将TextBox控件的ID属性值修改为txtName,表示名称。可在Html代码中直接修改,也可以在“属性”窗口中修改。
2.2.Text属性
TextBox控件的Text属性用于给文本框赋值,以及获取用户输入的值。在ASPX页面上右击,如下图所示:
在上图中选择“查看代码”,转到后台的C#代码:
在上图中,在Page_Load事件代码中编写的C#代码给TextBox控件的Text属性赋值。
将上面的ASPX页面运行一下,结果如下:
上图是在ASPX页面运行后,就执行Page_Load事件中的代码给文本框赋值。所以运行后文本框中就已经有值了。这个值“小明”是在后台Page_Load事件中赋值的。
现在获取在TextBox文本框中输入的值,使用按钮来查看结果,在ASPX页面上添加一个按钮:
在上图中,拖放了一个Button按钮,切换到“设计”模式,双击“确定”按钮,如下C#代码:
在上图的按钮事件中,编写如下C#代码获取文本框的值并输出:
在上图的代码中,首先使用txtName.Text属性获取文本框的值,然后再使用Response.Write()方法输出获取的值。
运行结果如下图所示:
在上图中,单击“确定”按钮后,在页面上将文本框中的值输出了。
注意:Page_Load事件在单击按钮之前运行,所以如果在文本框中输入其它文本,则输出的还是“小明”,可以将Page_Load中的代码注释掉:
再运行一下结果:
2.3.判断是否为空
如果要判断TextBox文本框的值是否为空,则可以使用如下C#代码实现:
if(TextBox1.Text==){}还可以使用方法string.IsNullOrEmpty()判断字符串是null或空。C#代码如下:
if(string.IsNullOrEmpty(TextBox1.Text)){}另外,还可以使用方法string.IsNullOrWhiteSpace()判断字符串是null、空””或空白字符。这个方法的功能最强大。C#代码如下:
if(string.IsNullOrWhiteSpace(TextBox1.Text)){}2.4.TextMode属性
TextBox控件的TextMode属性可以指定文本框是密码框、单行文本框和多行文本框:
1)SingleLine:默认值,表示单行文本框。
如果省略了TextMode属性,则默认就是单行文本框。
asp:TextBoxID=txtNameTextMode=SingleLinerunat=server/asp:TextBox
2)MultiLine:表示多行文本框。
当TextModel属性的值为MultiLine,则表示多行文本框,可以输入更多的内容。
asp:TextBoxID=txtNamerunat=serverTextMode=MultiLine/asp:TextBox
3)Password:表示密码框。
当TextModel属性的值为Password,表示密码框,输入的内容隐藏起来。
asp:TextBoxID=txtNamerunat=serverTextMode=Password/asp:TextBox
2.5.MaxLength属性
TextBox控件的MaxLength属性用于指定文本框中最大可以输入的字符数。
asp:TextBoxID=txtNamerunat=serverTextMode=PasswordMaxLength=20/asp:TextBox
表示密码值最大为20个字符,1个汉字也是1个字符,是Unicode字符。
2.6.Length属性
使用TextBox控件的Length属性获取文本框中共输入了多少个字符。Length属性统计字符串的长度。
2.7.ReadOnly属性
ReadOnly属性用于设置文本框控件是否处于只读状态,其值为true或false,默认值为false,表示可输入内容,当设置为ReadOnly=“true”时,表示文本框为只读状态。
asp:TextBoxID=TextBox1ReadOnly=truerunat=server/asp:TextBox
此时的文本框处于只读状态,不可输入内容。
注意:只要ASP.NET服务器控件存在ReadOnly属性,其含义与文本框的ReadOnly属性一样,都是设置控件是否处于只读状态。如Button控件也具有ReadOnly属性。
C#深入编程-线上视频图文课堂配套课后技能作业+理论考试+源码淘宝¥购买已下架