次の方法で共有


WebControl.AddAttributesToRender メソッド

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

Protected Overridable Sub AddAttributesToRender( _
   ByVal writer As HtmlTextWriter _)
[C#]
protected virtual void AddAttributesToRender(HtmlTextWriterwriter);
[C++]
protected: virtual void AddAttributesToRender(HtmlTextWriter* writer);
[JScript]
protected function AddAttributesToRender(
   writer : HtmlTextWriter);

パラメータ

解説

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

使用例

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

 

Imports System
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 'New      
      
      <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 'AddAttributesToRender       

      <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 'RenderContents

   End Class 'MyWebControl

End Namespace 'ControlTest


[C#] 
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);
      }
   }
}


[C++] 
#using <mscorlib.dll>
#using <System.Web.dll>
#using <System.dll>
using namespace System;
using namespace System::Web::UI;
using namespace System::Web::UI::WebControls;

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

public __gc class MyWebControl : public WebControl 
{
public:
   MyWebControl() : WebControl(HtmlTextWriterTag::Span) { }

protected:

   [System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")]
   void AddAttributesToRender(HtmlTextWriter* writer) 
   {
      writer->AddAttribute(HtmlTextWriterAttribute::Onclick, S"alert('Hello');");
      writer->AddStyleAttribute(HtmlTextWriterStyle::Color, S"Red");
      __super::AddAttributesToRender(writer);
   }

protected:

   [System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")]
   void RenderContents(HtmlTextWriter* writer) 
   {
      writer->Write(S"Custom Contents");
      __super::RenderContents(writer);
   }
};

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

WebControl クラス | WebControl メンバ | System.Web.UI.WebControls 名前空間 | HtmlTextWriter.AddAttribute | HtmlTextWriter.AddStyleAttribute | System.Web.UI.HtmlTextWriter