Blue Theme Orange Theme Green Theme Red Theme
 
Home | Forums | Videos | Advertise | Certifications | Downloads | Blogs | Interviews | Jobs | Beginners | Training
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
Nevron Chart
Search :       Advanced Search »
Home » ASP.NET Controls » Literal Control in ASP.NET

Literal Control in ASP.NET

In this article I will explain about the Literal Control in ASP.NET and how to use it. Will also differentiate between Label and Literal controls.

Author Rank :
Page Views : 17827
Downloads : 198
Rating :
 Rate it
Level : Beginner
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
Download Files:
LiteralControl.zip
 
 
Discover the top 5 tips for understanding .NET Interop
Become a Sponsor
 Tag Cloud
 Latest Jobs
More ... 
 Latest Interview Questions
More ... 


What is Literal Control?

  • The Literal Control is similar to the Label Control as they both are used to display static text on a web page.
  • The Literal Control is not inherited from WebControl namespace.
  • The Literal Control doesn't provide substantial functionality but Literal text is programmable.
  • It doesn't add any HTML elements to the web page. This control makes it possible to add HTML code directly in the code designer window without switching to design view and clicking the HTML button to edit the HTML.
  • You cannot apply a style to a literal control.
  • Unlike Label control, there is no property like BackColor, ForeColor, BorderColor, BorderStyle, BorderWidth, Height etc. for Literal control. That makes it more powerful, you can even put a pure HTML contents into it.
When to user Literal Control?
  • Literal control is one of the rarely used controls but it is very useful.
  • Literal control is light weight control.
  • The Literal Control is useful when you want to add text to the output of the page dynamically (from the server).
  • With that you can even programmatically manipulate the Literal text from the code behind.
In short you can say:

The Literal control is used to display text; that is, it renders static text on a Web page without adding additional HTML tags. It passes content directly to the client browser unless you use the Mode property to encode the content.

How to code Literal control in .aspx page


<
asp:Literal ID="LiteralText" runat="server" Text="This is example of Literal"></asp:Literal>

The above code will be rendered as:

<div>
    This is example of Literal
</div>

Output of above code

literal.gif

Table showing mode property of the Literal control:


Mode

Description

PassThrough

The contents of the control are not modified.

Encode

The contents of the control are converted to an HTML-encoded string.

Transform

Unsupported markup-language elements are removed from the contents of the control. If the Literal control is rendered on a browser that supports HTML or XHTML, the control's contents are not modified.


Listing shows how the Literal Control can be programmable in code behind

Code for .aspx page

<%
@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<
html xmlns="http://www.w3.org/1999/xhtml">
<
head runat="server">
    <title>Untitled Page</title>

</
head>
<
body>
    <form id="form1" runat="server">
    <div>
        <asp:Literal ID="Literal1" runat="server" />
        <asp:Literal ID="Literal2" runat="server" />
        <asp:Literal ID="Literal3" runat="server" />
    </div>
    </form>

</
body>
</
html>

Code for .aspx.cs page


using
System;
using
System.Configuration;
using
System.Data;
using
System.Linq;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.HtmlControls;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Literal1.Mode = LiteralMode.Encode;
        Literal1.Mode = LiteralMode.PassThrough;
        Literal1.Mode = LiteralMode.Transform;

        Literal1.Text = @"<font size=4 color=red>Literal1 with Encode property example</font><script>alert(""Literal with Encode property"");</script></br></br>";

        Literal2.Text = @"<font size=4 color=green>Literal2 with PassThrough property example</font><script>alert(""Literal with PassThrough property"");</script></br></br>";

        Literal3.Text = @"<font size=4 color=blue>Literal3 with Encode Transform example</font><script>alert(""Literal with Transform property"");</script></br></br>";
    }
}


Output of the above code:

Outputliteral1.gif

Outputliteral2.gif

Outputliteral3.gif

Difference between a Literal Control and a Label Control


Literal Control

Label Control

A Literal Web Server control used to insert static text on a web page. The Literal Control's only controllable aspect is the text that it holds.

The Label Web Server control is used to display static text on web page. The Label Control has properties that enable one to programmatically apply styles/stylesheet class to the rendered output. Can handle JavaScript at Client side.

The class hierarchy for this control is as follows:

Object ->
          Control ->
                   Literal

The class hierarchy for this control is as follows:

Object ->
          Control ->
                    WebControl ->     
                                        Label

Literal Control doesn't add any HTML elements to the web page

Label Control is rendered as <span> tag.

You can't apply any style property to the Literal Control.

You can apply any style property to the Label Control.


Conclusion

I hope that this article would have helped you in understanding the Literal Control in ASP.NET. Please share it if you know more about this article. Your feedback and constructive contributions are welcome.

Comment Request!
Thank you for reading this post. Please post your feedback, question, or comments about this post Here.
Login to add your contents and source code to this article
 [Top] Rate this article
 
 About the author
 
Puran Mehra

Working as a Software professional. 

Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
Discover the Top 5 .NET Memory Management Fundamentals
To write the best .NET code, you need to know exactly how the .NET framework really manages memory. Ricky Leeks presents the Top 5 fundamental facts of .NET memory management. Learn more.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
 Comments
hi by Pankaj On February 5, 2010
Thank you Puran Mehra,
this is very useful for me I am always confused that what is a difference between these two controls.
Reply | Email | Modify 
Hai by Vara On October 27, 2010
its very useful

VARAPRASAD
Reply | Email | Modify 
Nice article by rag On February 10, 2011
Thank you Puran, This is really a nice and simple article
Reply | Email | Modify 
Copy-Paste Demon!!! by Madhu On February 10, 2011
Dear Mehra, Please find this mistake in the code. Literal1.Mode = LiteralMode.Encode; Literal1.Mode = LiteralMode.PassThrough; Literal1.Mode = LiteralMode.Transform; In effect, the L2 and L3 modes are set to defaults and L1 mode is transform. You intended to set the three modes to 2 diff. literals, but the copy-paste demon came into place and made the literals all one !!!
Reply | Email | Modify 
how to bind data in a literal from a table by using asp.net by sreenivasa On December 28, 2011
hi ..........
Reply | Email | Modify 
DevExpress Free UI Controls
 © 2012  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.