IAttributeAccessor Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert Methoden, über die ASP.NET-Serversteuerelemente einen programmgesteuerten Zugriff auf alle Attribute ermöglichen, die im öffnenden Tag eines Serversteuerelements deklariert wurden.
public interface class IAttributeAccessor
public interface IAttributeAccessor
type IAttributeAccessor = interface
Public Interface IAttributeAccessor
- Abgeleitet
Beispiele
// The following class creates a custom ASP.NET server control that implements
// the IAttributeAccessor interface. It creates a MyTextBox class that contains
// Width and Text properties that get and set their values from view state.
// Pages that use this control create an instance of this control and set the
// Width property using the IAttributeAccessor.SetAttribute method.
// The page then displays the values of the Text and Width properties
// using the IAttributeAccessor.GetAttribute method.
// When compiled, this assembly is named MyAttributeAccessor.
using System;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;
namespace AttributeAccessor
{
[AspNetHostingPermission(SecurityAction.Demand,
Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class MyTextBox : Control, IAttributeAccessor
{
// Declare the Width property.
public String Width
{
get
{
return (String)ViewState["Width"];
}
set
{
ViewState["Width"] = value;
}
}
// Declare the Text property.
public String Text
{
get
{
return (String)ViewState["Text"];
}
set
{
ViewState["Text"] = value;
}
}
// Implement the SetAttribute method for the control. When
// this method is called from a page, the control's properties
// are set to values defined in the page.
public void SetAttribute(String name, String value1)
{
ViewState[name] = value1;
}
// Implement the GetAttribute method for the control. When
// this method is called from a page, the values for the control's
// properties can be displayed in the page.
public String GetAttribute(String name)
{
return (String)ViewState[name];
}
protected override void Render(HtmlTextWriter output)
{
output.Write("<input type=text id= " + this.UniqueID);
output.Write(" Value='" + this.Text);
output.Write("' Size=" + this.Width + ">");
}
}
}
' The following class creates a custom ASP.NET server control that implements
' the IAttributeAccessor interface. It creates a MyTextBox class that contains
' Width and Text properties that get and set their values from view state.
' Pages that use this control create an instance of this control and set the
' Width property using the IAttributeAccessor.SetAttribute method.
' The page then displays the values of the Text and Width properties
' using the IAttributeAccessor.GetAttribute method.
' When compiled, this assembly is named MyAttributeAccessor.
Imports System.Web
Imports System.Web.UI
Imports System.Security.Permissions
Namespace AttributeAccessor
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class MyTextBox
Inherits Control
Implements IAttributeAccessor
' Declare the Width property.
Public Property Width() As String
Get
Return CType(ViewState("Width"), String)
End Get
Set
ViewState("Width") = value
End Set
End Property
' Declare the Text property.
Public Property Text() As String
Get
Return CType(ViewState("Text"), String)
End Get
Set
ViewState("Text") = value
End Set
End Property
' Implement the SetAttribute method for the control. When
' this method is called from a page, the control's properties
' are set to values defined in the page.
Public Sub SetAttribute(name As String, value1 As String) Implements IAttributeAccessor.SetAttribute
ViewState(name) = value1
End Sub
' Implement the GetAttribute method for the control. When
' this method is called from a page, the values for the control's
' properties can be displayed in the page.
Public Function GetAttribute(name As String) As String Implements IAttributeAccessor.GetAttribute
Return CType(ViewState(name), String)
End Function 'GetAttribute
Protected Overrides Sub Render(output As HtmlTextWriter)
output.Write(("<input type=text id= " + Me.UniqueID))
output.Write((" Value='" + Me.Text))
output.Write(("' Size=" + Me.Width + ">"))
End Sub
End Class
End Namespace 'AttributeAccessor
Hinweise
Wenn Sie ein benutzerdefiniertes Serversteuerelement erstellen, das von der WebControl- oder HtmlControl- ListItem oder -Klasse erbt, bietet .NET Framework automatisch programmgesteuerten Zugriff auf Attribute, da jede dieser Klassen die IAttributeAccessor Schnittstelle implementiert.
Wenn Sie ein benutzerdefiniertes Serversteuerelement erstellen, das nicht von einer dieser Klassen erbt, und planen, den programmgesteuerten Zugriff auf Attribute zuzulassen, die nicht den stark typisierten Eigenschaften des Steuerelements entsprechen, müssen Sie die IAttributeAccessor Schnittstelle implementieren.
Methoden
GetAttribute(String) |
Ruft bei der Implementierung durch eine Klasse die angegebene Attributeigenschaft vom Serversteuerelement ab. |
SetAttribute(String, String) |
Legt bei der Implementierung durch eine Klasse ein Attribut mit einem zugehörigen Wert fest, das dem ASP.NET-Serversteuerelement zugewiesen werden soll. |