HtmlContainerControl.InnerHtml 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置位于指定 HTML 服务器控件的开始标记和结束标记之间的内容。
public:
virtual property System::String ^ InnerHtml { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.Browsable(false)]
public virtual string InnerHtml { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.InnerHtml : string with get, set
Public Overridable Property InnerHtml As String
属性值
HTML 服务器控件的开始标记和结束标记之间的 HTML 内容。
- 属性
例外
示例
下面的代码示例演示如何使用 InnerHtml 属性动态设置文本消息。
<%@ 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>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Message.InnerHtml = Server.HtmlEncode("Welcome! You accessed this page at: " & DateTime.Now)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>HtmlContainerControl Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<span id="Message" runat="server"></span>
</div>
</form>
</body>
</html>
注解
InnerHtml使用 属性以编程方式修改 HTML 服务器控件的开始标记和结束标记之间的内容。
属性 InnerHtml 不会在 HTML 实体之间自动对特殊字符进行编码。 HTML 实体允许显示浏览器通常解释为具有特殊含义的特殊字符,例如 <
字符。 字符 <
将被解释为标记的开头,并且不会显示在页面上。 若要显示字符 <
,需要使用实体 <
。
例如,如果 InnerHtml 属性设置为 "<b> Hello </b>"
,则 <
和 >
字符不会分别转换为 <
和 >
。 呈现的输出仍为: <b> Hello </b>。 浏览器将检测标记, <b>
并用粗体字体显示文本“Hello”。
注意
由于文本未进行 HTML 编码,因此可以在文本的 HTML 标记中嵌入脚本。 如果使用用户输入动态设置此属性,请确保验证 值以减少安全漏洞。 有关详细信息,请参阅 安全和用户输入。
若要提供自动 HTML 编码和解码,请使用 InnerText 属性。
备注
如果没有子控件,则 InnerHtml 属性包含值 String.Empty。