WebControl.AddAttributesToRender(HtmlTextWriter) メソッド

定義

指定した HtmlTextWriterTag に表示する必要のある HTML 属性およびスタイルを追加します。 このメソッドは、主にコントロールの開発者によって使用されます。

protected:
 virtual void AddAttributesToRender(System::Web::UI::HtmlTextWriter ^ writer);
protected virtual void AddAttributesToRender (System.Web.UI.HtmlTextWriter writer);
abstract member AddAttributesToRender : System.Web.UI.HtmlTextWriter -> unit
override this.AddAttributesToRender : System.Web.UI.HtmlTextWriter -> unit
Protected Overridable Sub AddAttributesToRender (writer As HtmlTextWriter)

パラメーター

writer
HtmlTextWriter

HTML コンテンツをクライアントに表示する出力ストリームを表す HtmlTextWriter

次の例では、 クラスから派生するクラスを作成する方法を WebControl 示します。 メソッドの AddAttributesToRender 基本実装は、出力ストリームの派生クラス HtmlTextWriter に適切な属性を追加するためにオーバーライドされます。

namespace ControlTest 
{
   using System;
   using System.Web.UI;
   using System.Web.UI.WebControls;

   // Renders the following HTML: 
   // <span onclick="alert('Hello');" style="color:Red;">Custom Contents</span>

   public class MyWebControl: WebControl {

      public MyWebControl() : base(HtmlTextWriterTag.Span) 
      { }

      [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
      protected override void AddAttributesToRender(HtmlTextWriter writer) 
      {

         writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert('Hello');");
         writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red");
         base.AddAttributesToRender(writer);
      }

      [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
      protected override void RenderContents(HtmlTextWriter writer) 
      {
         writer.Write("Custom Contents");
         base.RenderContents(writer);
      }
   }
}

Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace ControlTest
   
   ' Renders the following HTML: 
   ' <span onclick="alert('Hello');" style="color:Red;">Custom Contents</span>
   Public Class MyWebControl
      Inherits WebControl
      
      
      Public Sub New()
         MyBase.New(HtmlTextWriterTag.Span)
      End Sub
      
      <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
      Protected Overrides Sub AddAttributesToRender(writer As HtmlTextWriter)
         
         writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "alert('Hello');")
         writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red")
         MyBase.AddAttributesToRender(writer)

      End Sub

      <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
      Protected Overrides Sub RenderContents(writer As HtmlTextWriter)
         writer.Write("Custom Contents")
         MyBase.RenderContents(writer)
      End Sub

   End Class

End Namespace 'ControlTest

注釈

クライアントで Web サーバー コントロールの属性とスタイルをレンダリングするには、通常、 メソッドと HtmlTextWriter.AddStyleAttribute メソッドを呼び出AddAttributeして、各属性とスタイルをHtmlTextWriter出力ストリームに個別に挿入します。 このプロセスを簡略化するために、このメソッドは、Web サーバー コントロールに HtmlTextWriter.AddAttribute 関連付けられているすべての属性とスタイルの メソッドと HtmlTextWriter.AddStyleAttribute メソッドへのすべての呼び出しをカプセル化します。 すべての属性とスタイルは、1 つのメソッド呼び出しで出力ストリームに挿入 HtmlTextWriter されます。 このメソッドは通常、派生クラスのコントロール開発者によってオーバーライドされ、クラスの出力ストリームに HtmlTextWriter 適切な属性とスタイルが挿入されます。

注意

メソッドを AddAttributesToRender 使用してクライアント スクリプトを挿入することはできません。 クライアント スクリプトを使用するには、 クラスを ClientScriptManager 参照してください。

適用対象

こちらもご覧ください