HtmlContainerControl.InnerHtml Property

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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)

[BrowsableAttribute(false)]
public virtual string InnerHtml { get; set; }

Property Value

Type: System.String

The HTML content between opening and closing tags of an HTML server control.

Exception Condition
HttpException

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.

System_CAPS_cautionCaution

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.

System_CAPS_noteNote

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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HtmlContainerControl Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <span id="Message" runat="server"></span>    
    </div>
    </form>
</body>
</html>    

.NET Framework
Available since 1.1
Return to top
Show: