Language

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値が30ptされていない場合、OnAttributeRenderオーバーライドは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)をオーバーライドし、falseがname渡され、bgcolorプロパティ値がTagNameされたときにtableを返すことができます。

適用対象

こちらもご覧ください