大众计算机学习网

专门提供各种电脑教程

asp.net控件Literal与label的异同

Admin | 2011-9-1 8:19:30 | 被阅次数 | 5780

  一、Literal Web是什么控件

  Literal是服务器控件,运行在服务器端。它是一种容器控件。Literal 最常用于向页面中动态添加内容。

  同类的容器有 Label 控件、Literal 控件、Panel 控件和 Placeholder 控件。

  通常情况下,当希望文本和控件直接呈现在页面中而不使用任何附加标记时,可使用 Literal 控件。

  在 Literal 控件中编码内容

  Literal 控件支持 Mode 属性,该属性用于指定控件对您所添加的标记的处理方式。可以将 Mode 属性设置为以下值:

  Transform. 将对添加到控件中的任何标记进行转换,以适应请求浏览器的协议。如果向使用 HTML 外的其他协议的移动设备呈现内容,此设置非常有用。

  PassThrough. 添加到控件中的任何标记都将按原样呈现在浏览器中。

  Encode. 将使用 HtmlEncode 方法对添加到控件中的任何标记进行编码,这会将 HTML 编码转换为其文本表示形式。例如,<b> 标记将呈现为 &lt;b&gt;。当希望浏览器显示而不解释标记时,编码将很有用。编码对于安全也很有用,有助于防止在浏览器中执行恶意标记。显示来自不受信任的源的字符串时推荐使用此设置。

  二、Literal和Label的本质区别

  label在经服务器处理后转换成客户端网页时候使用html的<span>标记为住控件,而Literal则是什么标记都不带 。

  比如:

  <span id="Label1">大众计算机</span> (label的客户端代码)
        <b>大众计算机</b> (Literal的客户端代码)

  literal不可以运用样式。定位布局比较麻烦。

  在您要以编程方式设置文本而不添加额外的 HTML 标记时,可以向页面添加 Literal Web 服务器控件。在要向页面动态添加文本而不添加任何不属于该动态文本的元素时,Literal 控件非常有用。例如,您可以使用 Literal 控件来显示从文件或流中读取的 HTML。

  如果要显示静态文本,则可以使用 HTML 呈现它;不需要 Literal 控件。只有在需要以编程方式呈现文本时才使用 Literal 控件。