一、Literal Web是什么控件
Literal是服务器控件,运行在服务器端。它是一种容器控件。Literal 最常用于向页面中动态添加内容。
同类的容器有 Label 控件、Literal 控件、Panel 控件和 Placeholder 控件。
通常情况下,当希望文本和控件直接呈现在页面中而不使用任何附加标记时,可使用 Literal 控件。
在 Literal 控件中编码内容
Literal 控件支持 Mode 属性,该属性用于指定控件对您所添加的标记的处理方式。可以将 Mode 属性设置为以下值:
Transform. 将对添加到控件中的任何标记进行转换,以适应请求浏览器的协议。如果向使用 HTML 外的其他协议的移动设备呈现内容,此设置非常有用。
PassThrough. 添加到控件中的任何标记都将按原样呈现在浏览器中。
Encode. 将使用 HtmlEncode 方法对添加到控件中的任何标记进行编码,这会将 HTML 编码转换为其文本表示形式。例如,<b> 标记将呈现为 <b>。当希望浏览器显示而不解释标记时,编码将很有用。编码对于安全也很有用,有助于防止在浏览器中执行恶意标记。显示来自不受信任的源的字符串时推荐使用此设置。
二、Literal和Label的本质区别
label在经服务器处理后转换成客户端网页时候使用html的<span>标记为住控件,而Literal则是什么标记都不带 。
比如:
<span id="Label1">大众计算机</span> (label的客户端代码)
<b>大众计算机</b> (Literal的客户端代码)
literal不可以运用样式。定位布局比较麻烦。
在您要以编程方式设置文本而不添加额外的 HTML 标记时,可以向页面添加 Literal Web 服务器控件。在要向页面动态添加文本而不添加任何不属于该动态文本的元素时,Literal 控件非常有用。例如,您可以使用 Literal 控件来显示从文件或流中读取的 HTML。
如果要显示静态文本,则可以使用 HTML 呈现它;不需要 Literal 控件。只有在需要以编程方式呈现文本时才使用 Literal 控件。