您的位置:首页 > 编程语言 > ASP

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>标签会被去掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: