HtmlTextWriter.OnAttributeRender メソッド

定義

指定したマークアップ属性とその値を現在のマークアップ要素にレンダリングするかどうかを決定します。

protected:
 virtual bool OnAttributeRender(System::String ^ name, System::String ^ value, System::Web::UI::HtmlTextWriterAttribute key);
protected virtual bool OnAttributeRender (string name, string value, System.Web.UI.HtmlTextWriterAttribute key);
abstract member OnAttributeRender : string * string * System.Web.UI.HtmlTextWriterAttribute -> bool
override this.OnAttributeRender : string * string * System.Web.UI.HtmlTextWriterAttribute -> bool
Protected Overridable Function OnAttributeRender (name As String, value As String, key As HtmlTextWriterAttribute) As Boolean

パラメーター

name
String

レンダリングする属性の名前を格納している文字列。

value
String

属性に割り当てる値を格納している文字列。

key
HtmlTextWriterAttribute

マークアップ属性に関連付けられた HtmlTextWriterAttribute

戻り値

常に true

次のコード例は、 メソッドをオーバーライドする方法を OnAttributeRender 示しています。 属性がSizeレンダリングされ、値が Size ではない30ptOnAttributeRender場合、オーバーライドは メソッドをAddAttribute呼び出して属性をSize追加し、その値を に30pt設定します。

// If a size attribute is to be rendered, compare its value to 30 point.
// If it is not set to 30 point, add the attribute and set the value to 30,
// then return false.
protected override bool OnAttributeRender(string name,
    string value,
    HtmlTextWriterAttribute key)
{

    if (key == HtmlTextWriterAttribute.Size)
    {
        if (string.Compare(value, "30pt") != 0)
        {
            AddAttribute("size", "30pt");
            return false;
        }
    }

    // If the attribute is not a size attribute, use
    // the base functionality of the OnAttributeRender method.
    return base.OnAttributeRender(name, value, key);
}
' If a size attribute is to be rendered, compare its value to 30 point.
' If it is not set to 30 point, add the attribute and set the value to 30
' then return false.
Protected Overrides Function OnAttributeRender(name As String, _
    value As String, _
    key As HtmlTextWriterAttribute) _
As Boolean

    If key = HtmlTextWriterAttribute.Size Then
        If [String].Compare(value, "30pt") <> 0 Then
            AddAttribute("size", "30pt")
            Return False
        End If
    End If

    ' If the attribute is not a size attribute, use
    ' the base functionality of the OnAttributeRender method.
    Return MyBase.OnAttributeRender(name, value, key)
End Function 'OnAttributeRender

注釈

メソッドのクラス実装は HtmlTextWriter 常に を OnAttributeRender 返します true。 オーバーライドによって OnAttributeRender 、属性がページにレンダリングされるかどうかを判断できます。

注意 (継承者)

クラスから継承する HtmlTextWriter 場合は、 メソッドを OnAttributeRender(String, String, HtmlTextWriterAttribute) オーバーライドして 戻 false り、属性がまったくレンダリングされたり、特定の要素にレンダリングされたり、特定のマークアップに対してレンダリングされたりするのを防ぐことができます。 たとえば、 からHtmlTextWriter派生したオブジェクトを要素にレンダリングbgcolor<table>したくない場合は、 をオーバーライドOnAttributeRender(String, String, HtmlTextWriterAttribute)し、 が渡bgcolorされ、プロパティ値が であるtable場合nameに をTagNamefalseすことができます。

適用対象

こちらもご覧ください