`
sty2008boy
  • 浏览: 301762 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

Literal控件

阅读更多
asp.net中Literal与label的区别
一.Literal Web 服务器控件概述(摘于MSDN)

可以使用 Literal Web 服务器控件作为页面上其他内容的容器。Literal 最常用于向页面中动态添加内容。

Literal 控件表示用于向页面添加内容的几个选项之一。对于静态内容,无需使用容器,可以将标记作为 HTML 直接添加到页面中。但是,如果要动态添加内容,则必须将内容添加到容器中。典型的容器有 Label 控件、Literal 控件、Panel 控件和 Placeholder 控件。

Literal 控件与 Label 控件的区别在于 Literal 控件不向文本中添加任何 HTML 元素。(Label 控件呈现一个 span 元素。) 因此,Literal 控件不支持包括位置属性在内的任何样式属性。但是,Literal 控件允许指定是否对内容进行编码。

Panel 和 Placeholder 控件呈现为 div 元素,这将在页面中创建离散块,与 Label 和 Literal 控件进行内嵌呈现的方式不同。

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

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

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

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

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


二.Literal和Label到底有什么区别

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

例如:<span >Label</span>(label的客户端代码)
<b>尼古拉斯凯奇</b>(Literal的客户端代码)

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

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

    下面再转一下一位达人的实际引用..

1<OBJECT height=288 width=384 classid=clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa VIEWASTEXT>
2                   <PARAM VALUE="10160"><PARAM VALUE="7620">
3                   <PARAM VALUE="-1"><PARAM VALUE="0">
4                   <PARAM VALUE="0"><PARAM VALUE="0">
5                   <PARAM VALUE="<asp:Literal runat='server'></asp:Literal>">
6                   <PARAM VALUE="imagewindow"><PARAM VALUE="clip1">
7                   <PARAM VALUE="0"><PARAM VALUE="0"><PARAM VALUE="0">
8                   <PARAM VALUE="0"><PARAM VALUE="#000000">
9               </OBJECT>
那么如何让这个播放器能根据我们传的参数不同而播放不同的内容呢?上面一段Html
代码的第5行就指明了这个播放器播放的内容来源,为了实现能根据参数不同播放不同的内容,我们将其Value值设置为一个Literal控件,然后在后置代码中动态的对Literal的Text属性赋值就OK了。代码如下:
       /**//// <summary>
       ///       Author: SHY520   
       ///            http://pw.cnblogs.com
       /// </summary>
       public class ShowVideoContent : System.Web.UI.UserControl
       {
           protected System.Web.UI.WebControls.Literal lt_reader;
           protected System.Web.UI.WebControls.Literal lt_vdate;
           protected System.Web.UI.WebControls.Literal lb_author;
           protected System.Web.UI.WebControls.Literal lt_resource;
           protected System.Web.UI.WebControls.Label lb_title;

           //注意:写在Object中的Literal需要我们手工定义
           Literal lt_src;

           private void Page_Load(object sender, System.EventArgs e)
           {
               if(Request.QueryString["id"] != null)
               {
                   int id"].ToString());


;       //得到视频新闻内容
                   VideoContent vc = VideoContent.Find(id);

                   lt_reader.Text = vc.Announcer;
                   lt_vdate.Text = vc.Vdate.ToShortDateString();
                   lb_author.Text = vc.Author;
                   lt_resource.Text = vc.Resource;
                   lb_title.Text = vc.Videotitle;
               
                   //对播放内容赋值
                   lt_src.Text = vc.Linkurl;
               }
           }
}

    个人觉得Literal控件有点像服务器的占位符..是一个功能强大的占位符.他不止可以占位HTML元素还可以占位JavaScript代码块..下面是项目中做过的..

    在HTML页的最底部为JavaScript代码块占一个位(其实可以根据实际需要变一变).

    </form>
    <asp:Literal runat="server"></asp:Literal>
</body>

    在后台代码中..ltScript.Text = "<script type=\"text/javascript\">Select(\"nav2\");</script>";这里调用了签名为Select的标签选择函数..这样可以在后台根据实际需要动态加载JavaScript代码块..非常实用..
分享到:
评论

相关推荐

    Literal控件的使用

    "Literal控件的使用" Literal控件是ASP.NET Web应用程序中的一种常用的服务器控件,用于在Web页面中显示静态文本或动态生成的内容。在本文中,我们将对Literal控件的使用进行详细的介绍,包括其基本概念、使用场景...

    div+Literal控件的定位

    在网页设计中,"div+Literal控件"的定位是一个重要的技术环节,它涉及到前端布局和用户交互体验。本文将详细解析如何通过div元素和Literal控件实现精确定位选项卡,以及处理滚动条出现时的内容展示问题。 首先,`...

    ASP.NET中Literal控件的使用方法 <font color=red>原创</font>

    Literal控件的主要特点是它不会对插入的文本进行任何处理,而是原样输出,这使得它在某些场景下比Label控件更为合适。 **Literal控件的属性** 1. **Text**:这是Literal控件的核心属性,用于指定要在控件中显示的...

    Literal(2.0)

    "Literal(2.0)"是一个关于ASP.NET 2.0框架中Literal控件的实例教程。Literal控件在Web开发中扮演着重要角色,尤其在处理静态文本或HTML时非常实用。下面我们将深入探讨Literal控件的核心概念、功能以及如何在C#编程...

    ASP.NET中Literal控件的使用方法 原创

    可以将 Literal 控件用作网页上其他内容的容器。Literal 控件最常用于向网页中动态添加内容。简单的讲,就是可以把 HTML 代码写到 Literal 控件上,直接呈现出来。 一、常见Literal属性 属性 描述 Text 指定 ...

    ASP.NET中Literal与Label控件的区别

    典型的容器有 Label 控件、Literal 控件、Panel 控件和 PlaceHolder 控件。 Literal 控件与 Label 控件的区别在于 Literal 控件不向文本中添加任何 HTML 元素。(Label 控件呈现一个 span 元素。)因此,Literal ...

    ASP.NET服务器端控件培训课件.pptx

    标准控件是 ASP.NET 应用程序中最常用的控件,包括 Label 和 Literal 控件、TextBox 和 CheckBox 控件、Button 和 LinkButton 控件、Image 和 ImageMap 控件等。 五、Label 控件和 Literal 控件 Label 控件和 ...

    Label控件aa

    【Label控件与Literal控件详解】 在ASP.NET开发中,Label和Literal是两种常见的用于显示文本的控件,它们各自具有独特的特性和用途。 **Label控件** Label控件通常用于显示静态或动态文本,它允许开发者对显示的...

    VS2005控件学习

    Literal 控件 Panel 控件 PlaceHolder 控件 RadioButton 控件 RadioButtonList 控件 Style 控件 Table 控件 TableCell 控件 TableRow 控件 TextBox 控件 XML 控件 CompareValidator 控件 CustomValidator 控件 ...

    2022年优秀-ASPNET服务器端控件培训课件.pptx

    Literal控件用于在页面上显示静态文本,它可以被用来修改浏览器的标题或者显示不需服务器端处理的纯文本。例如,通过编程方式改变Literal控件的文本内容,可以实现实时更新页面信息的功能。 3. **声明控件**: ...

    【ASP.NET编程知识】ASP.NET笔记之 控件与母板的区别分析.docx

    Literal控件是ASP.NET框架中的一种特殊控件,用于输出文本内容。Literal控件的Mode属性可以避免XSS攻击。 TextBox控件是ASP.NET框架中的一种基本控件,用于输入文本内容。TextBox控件的AutoPostBack属性可以实现...

    asp.net基本控件详解

    5. **Literal 控件**:Literal 控件用于显示纯文本,不会对内容进行 HTML 编码,适合展示不需解析的 HTML 或 JavaScript 代码。它对于嵌入动态生成的文本或包含特殊字符的字符串特别有用。 6. **Panel 控件**:...

    2022年优秀-ASPNET服务器端控件.pptx

    - **Literal控件**:与Label相似,但不进行任何HTML编码,适用于显示纯文本内容。Literal控件可以用于提升性能,因为它不会在服务器端执行额外的HTML转义操作。 4. **AssociatedControlID属性**:Label控件的这个...

    asp.net培训中的答疑

    Literal控件的`Mode`属性可以设置为`Transform`、`PassThrough`或`Encode`,分别对应转换标记、原样输出和编码内容,以适应不同的需求,比如防止XSS攻击。 Label控件则会在客户端以`&lt;span&gt;`标签呈现,支持样式属性...

    服务器控件PPT学习教案.pptx

    2. **Label控件**:类似于Literal控件,用于显示文本,但提供了CSSClass属性来应用样式。 3. **HyperLink控件**:创建超链接,NavigateUrl定义链接地址,Target指定链接打开的方式,如新窗口或当前窗口。 4. **...

    《零基础学ASP.NET 2.0》第5章 创建智能表单

    5.11 Literal控件以编程方式控制文本 99 5.12 常见问题 100 5.12.1 如何以编程的方式操作TextBox控件 101 5.12.2 TextBox控件的AutoPostBack属性有什么作用 101 5.12.3 如何让一个控件只在需要的时候显示 101

    实现repeater控件分页

    // 假设Literal控件ID为ltl_RecordCount Literal ltl_PageCount = (Literal)FindControl("ltl_PageCount"); // 假设Literal控件ID为ltl_PageCount Literal ltl_Pageindex = (Literal)FindControl("ltl_Pageindex...

    asp控件开发基础方法及注意事项

    例如,Label控件常用来展示静态文本,而Literal控件则可以用于输出未经处理的HTML代码。开发这些控件时,我们需要关注如何正确地设置文本属性、样式以及是否需要支持动态内容更新。此外,理解如何将数据绑定到控件也...

    repeter控件的分页功能的实现

    3. 实现分页条,可以使用Literal控件或者HtmlGenericControl来创建HTML元素,如`&lt;ul&gt;`和`&lt;li&gt;`。每个页码是一个链接,链接到处理分页请求的事件处理器,例如: ```html &lt;li&gt;&lt;a href='javascript:void(0)' ...

Global site tag (gtag.js) - Google Analytics