ASP.NET学习系列(四)开始控件之旅之Literal和Label
2010-03-09 15:33
429 查看
Label和Literal两个控件都用于运行时状态页面文本的显示,要显示的内容在控件的Text属性中设置。
代码:
<asp:Literal ID="Literal1" runat="server" Text="I'm a literal."/>
<asp:Label ID="label1" runat="server" Text="I'm a label." />
那么,同样是显示文本信息,为什么要有两个控件那,这两个控件又有什么区别那?可以先来做一个简单的实验。创建一个包含label和Literal的页面,并查看在客户端生成的代码。
<div>
I'm a literal.
<span id="label1">I'm a label.</span>
</div>
这是和连个控件相关的部分。由此可以看到,Label控件的内容被呈现在一个HTML的<span>标签中,而Literal则是直接显示的文本,没有被任何标签包含。
那么<span>标签有什么好处那,它可以允许你控制Label控件中的文本格式,因此,Label控件中拥有一些格式化自身文本的属性,例如:Backcolor、BorderColor、BorderStyle、BorderWidth、CssClass、Font、ForeColor、Style、ToolTip等属性。而这些属性Literal都没有。通常情况下,建议避免使用格式化属性而是用CSS来格式化Label控件的输出内容。
一个简单的示例:
代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Literal ID="Literal1" runat="server" Text="<hr />"
Mode="PassThrough"></asp:Literal>
<br />
<br />
<asp:Literal ID="Literal2" runat="server" Text="<hr />"
Mode="Encode"></asp:Literal>
<br />
<br />
<asp:Literal ID="Literal3" runat="server" Text="<hr />"
Mode="Transform"></asp:Literal>
</div>
</form>
</body>
</html>
而显示的结果如下图:
可以看到,第一个Literal控件显示一条水平线,第二个显示一个未解释的标签,第三个也显示了一条水平线。但如果放在一个不能解释<hr >浏览器上,则第三行就不会显示,因为<hr>标签会被去掉。
代码:
<asp:Literal ID="Literal1" runat="server" Text="I'm a literal."/>
<asp:Label ID="label1" runat="server" Text="I'm a label." />
那么,同样是显示文本信息,为什么要有两个控件那,这两个控件又有什么区别那?可以先来做一个简单的实验。创建一个包含label和Literal的页面,并查看在客户端生成的代码。
<div>
I'm a literal.
<span id="label1">I'm a label.</span>
</div>
这是和连个控件相关的部分。由此可以看到,Label控件的内容被呈现在一个HTML的<span>标签中,而Literal则是直接显示的文本,没有被任何标签包含。
那么<span>标签有什么好处那,它可以允许你控制Label控件中的文本格式,因此,Label控件中拥有一些格式化自身文本的属性,例如:Backcolor、BorderColor、BorderStyle、BorderWidth、CssClass、Font、ForeColor、Style、ToolTip等属性。而这些属性Literal都没有。通常情况下,建议避免使用格式化属性而是用CSS来格式化Label控件的输出内容。
一个简单的示例:
代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Literal ID="Literal1" runat="server" Text="<hr />"
Mode="PassThrough"></asp:Literal>
<br />
<br />
<asp:Literal ID="Literal2" runat="server" Text="<hr />"
Mode="Encode"></asp:Literal>
<br />
<br />
<asp:Literal ID="Literal3" runat="server" Text="<hr />"
Mode="Transform"></asp:Literal>
</div>
</form>
</body>
</html>
而显示的结果如下图:
可以看到,第一个Literal控件显示一条水平线,第二个显示一个未解释的标签,第三个也显示了一条水平线。但如果放在一个不能解释<hr >浏览器上,则第三行就不会显示,因为<hr>标签会被去掉。
相关文章推荐
- ASP.NET学习系列(八)开始控件之旅之Image和ImageMap
- ASP.NET学习系列(五)开始控件之旅之TextBox及其Ajax扩展控件
- ASP.NET学习系列(七)开始控件之旅之列表和选项控件
- ASP.NET学习系列(六)开始控件之旅之Button及其Ajax扩展控件
- asp.net控件开发系列学习----Button
- ASP.NET AJAX Control ToolKit系列: CascadingDropDown控件学习经验
- asp.net ajax学习系列功能强大的UpdatePanel控件
- ASP.NET MVC 3.0学习系列文章(开始学习MVC)
- ASP.net控件开发系列(三)(转)(写的不错,学习开发控件的看好)
- ASP.NET学习系列(二) 控件概览
- ASP.NET MVC 3.0学习系列(19)-开源控件实现表格排序和分页
- asp.net ajax学习系列功能强大的UpdatePanel控件
- asp.net ajax学习系列功能强大的UpdatePanel控件
- asp.net ajax学习系列功能强大的UpdatePanel控件
- ASP.NET个人行事历 学习流程与重点 (Calendar日历控件 + DB数据库 + HyperLink or Label)
- asp.net ajax学习系列功能强大的UpdatePanel控件
- asp.net ajax学习系列功能强大的UpdatePanel控件
- asp.net学习之Repeater控件
- [ASP.NET开发系列]在用户控件中添加属性
- ASP.NET MVC使用Bootstrap系列(1)——开始使用Bootstrap