次の方法で共有


HtmlContainerControl.InnerHtml プロパティ

定義

指定された 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 の内容。

属性

例外

複数の HTML サーバー コントロールがあります。

- または -

HTML サーバー コントロールが LiteralControlDataBoundLiteralControl ではありません。

次のコード例では、 プロパティを使用 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>

注釈

HTML サーバー コントロールの InnerHtml 開始タグと終了タグの間の内容をプログラムで変更するには、 プロパティを使用します。

プロパティは InnerHtml 、HTML エンティティとの間で特殊文字を自動的にエンコードしません。 HTML エンティティを使用すると、通常、ブラウザーで特別な意味を < 持つものとして解釈される特殊文字 (文字など) を表示できます。 文字は < タグの先頭として解釈され、ページには表示されません。 文字を < 表示するには、 エンティティ &lt;を使用する必要があります。

たとえば、 プロパティが InnerHtml"<b> Hello </b>"設定されている場合、 < 文字と > 文字はそれぞれ および &gt;&lt;変換されません。 レンダリングされた出力は、引き続き b> Hello </b> になります<。 ブラウザーによってタグが <b> 検出され、テキスト Hello が太字で表示されます。

注意事項

テキストは HTML エンコードされていないため、テキスト内の HTML タグ内にスクリプトを埋め込むことができます。 このプロパティがユーザー入力を使用して動的に設定されている場合は、セキュリティの脆弱性を減らすために値を検証してください。 詳細については、「 セキュリティとユーザー入力」を参照してください。

HTML の自動エンコードとデコードを提供するには、 プロパティを使用します InnerText

Note

子コントロールがない場合、 プロパティには InnerHtmlString.Emptyが含まれます。

適用対象

こちらもご覧ください