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);
パラメータ
- writer
HTML コンテンツをクライアントに表示する出力ストリームを表す System.Web.UI.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