ASP.NET技巧-正确使用Label控件
来源:互联网 发布:学满语的软件 编辑:程序博客网 时间:2024/06/09 20:17
ASP.NET技巧-正确使用Label控件
原文地址:
http://haacked.com/archive/
Scott Watermasysk 在他的博客上有一系列的 Quick Tips for ASP.NET 。这仅仅是其中的一篇。我非常期待能够看到这个系列的后续文章。
然而,关于Never use the ASP.NET Label control,我的看法稍稍与他不同。我希望将其重写为:
Never use the ASP.NET Label control when a Literal would do.
问题不是Label控件。问题是只是仅仅把Label控件看成是Literal控件。
Label控件有一个特殊用法,作为表单输入的标签。例如,下面的图片中有一个文本标签和一个文本框。
让我们看看如何使用Literal控件来创建这个简单的表单(注意我从一个资源文件中获取值,因为我们都希望支持国际化,对吧?但是这也指出了我为什么使用一个实际的控件而不只是直接输入标签)。
<asp:Literal id="label" Text="<%$ Resources:UserName %>"
runat="server" /> <asp:TextBox id="textbox" runat="server"/>
当你点击Username上的单词时发生了什么?什么也没有发生。如果此时靠近literal的Textbox得到焦点是不是非常好呢?下面是解决方法:
<asp:Label id="label" AssociatedControlId="textbox"
Text="Username" runat="server" /> <asp:TextBox id="textbox" runat="server" />
现在,我们已经将label和文本控件关联在一起。底层的HTML看起来就像这样(为了讨论而做了简化):
<label for="textbox">Username</label> <input type="textbox" name="textbox" value="" />
这将标签Username和文本控件关联起来,因此当我们点击标签时,文本框就会获得焦点。
那么在这里为什么使用Label服务器控件?为什么不直接使用<label /> html标签。
因为你不知道TextBox编译时的客户端id。那么如果这两个控件位于一个页面内部的用户控件内部,又会发生什么呢?此时它们的ID会变得有点奇怪。
后记:
在关于这篇文章的评论中也有非常精彩的讨论,我也摘录了下来。
实际上,你也可以将label和任何其他类型的控件关联起来,而不仅仅是textbox。Dropdown和text area也是如此。
Label另外两个非常重要的属性是AccessKey和Tooltip,它们主要是为了便于访问Label。
而且你也可以使用checkbox控件的text属性,这样它将自动生成一个关联label。
- ASP.NET技巧-正确使用Label控件
- [小技巧]asp.net Label 自动换行
- ASP.NET - Label Web 服务器控件概述
- ASP.NET 2.0 Login控件使用技巧(二) - 角色管理
- 转载:Asp.Net之Html控件与Web控件的区别及如何正确使用它们.
- js获取asp.net服务器端控件Label,TextBox,RadioButtonList,DropD
- vb.net--Label控件
- ASP.NET中如何正确使用Session
- ASP.NET中如何正确使用Session
- ASP.NET中如何正确使用Session
- ASP.NET中的Session怎么正确使用
- asp.net 正确的使用session
- ASP.NET 2.0 Login控件使用技巧(一) - 迁徙数据库,个性化Login控件
- ASP.NET组建(1) ASP.net 组合控件 Label TextBox
- ASP.NET组建(1) ASP.net 组合控件 Label TextBox
- 编程技巧 asp.net控件本质
- asp.net 2.0 数据控件技巧
- ASP.NET中DataGrid控件应用技巧
- CCNA 640-802 新版考试内容
- 一种注入进程,获得完全操控的方法之一[先贴过来,等下研究一下,看起来不错]
- Excel 中文版中插入函数对话框中关于 VLOOKUP 函数的参数的错误描述
- java的classpath设置与-D命令参数的用法
- 制作Spell宣言(新版)
- ASP.NET技巧-正确使用Label控件
- RA_Client
- 计算机上端口详细介绍
- Proguard 学习笔记(一)
- asp.net AJAX中的CascadingDropDown控件使用心得
- ARQ and FEC
- matlab进行图像处理学习笔记
- 马云发誓不投网游一分钱
- 从今天开始继续写博客