IAttributeAccessor Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define métodos usados por controles de servidor ASP.NET para fornecer acesso programático a qualquer atributo declarado na marca de abertura de um controle de servidor.
public interface class IAttributeAccessor
public interface IAttributeAccessor
type IAttributeAccessor = interface
Public Interface IAttributeAccessor
- Derivado
Exemplos
// 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
Comentários
Se você criar um controle de servidor personalizado herdado da WebControlclasse , HtmlControlou ListItem , o .NET Framework fornecerá automaticamente acesso programático aos atributos porque cada uma dessas classes implementa a IAttributeAccessor interface .
Se você criar um controle de servidor personalizado que não herda de uma dessas classes e planeja permitir o acesso programático a atributos que não correspondem às propriedades fortemente tipadas do controle, certifique-se de implementar a IAttributeAccessor interface .
Métodos
GetAttribute(String) |
Quando implementado por uma classe, recupera a propriedade de atributo especificada do controle de servidor. |
SetAttribute(String, String) |
Quando implementado por uma classe, designa um atributo e seu valor a serem atribuídos ao controle de servidor ASP.NET. |