This documentation is archived and is not being maintained.

HtmlContainerControl.InnerHtml Property

Gets or sets the content found between the opening and closing tags of the specified HTML server control.

Namespace:  System.Web.UI.HtmlControls
Assembly:  System.Web (in System.Web.dll)

public virtual string InnerHtml { get; set; }
<asp:HtmlContainerControl InnerHtml="String" />

Property Value

Type: System.String
The HTML content between opening and closing tags of an HTML server control.


There is more than one HTML server control.

- or -

The HTML server control is not a System.Web.UI.LiteralControl or a System.Web.UI.DataBoundLiteralControl.

Use the InnerHtml property to programmatically modify the contents between the opening and closing tags of an HTML server control.

The InnerHtml property does not automatically encode special characters to and from HTML entities. HTML entities allow you to display special characters, such as the < character, that a browser would ordinarily interpret as having special meaning. The < character would be interpreted as the start of a tag and is not displayed on the page. To display the < character, you would need to use the entity &lt;.

For example, if the InnerHtml property is set to "<b> Hello </b>", the < and > characters are not converted to &lt; and &gt;, respectively. The rendered output would still be: <b> Hello </b>. The browser will detect the <b> tags and display the text, Hello, in a bold font.

Caution noteCaution:

Because the text is not HTML encoded, it possible to embed script within HTML tags in the text. If this property is set dynamically using user input, be sure to validate the value to reduce security vulnerabilities. For more information, see Security and User Input.

To provide automatic HTML encoding and decoding, use the InnerText property.


If there are no child controls, the InnerHtml property contains the value String.Empty.

The following code example demonstrates how to use the InnerHtml property to dynamically set a text message.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
    Message.InnerHtml = Server.HtmlEncode("Welcome! You accessed this page at: " + DateTime.Now);

<html xmlns="" >
<head runat="server">
    <title>HtmlContainerControl Example</title>
    <form id="form1" runat="server">
      <span id="Message" runat="server"></span>    

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0