IAttributeAccessor Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan metode yang digunakan oleh ASP.NET kontrol server untuk menyediakan akses terprogram ke atribut apa pun yang dideklarasikan dalam tag pembuka kontrol server.
public interface class IAttributeAccessor
public interface IAttributeAccessor
type IAttributeAccessor = interface
Public Interface IAttributeAccessor
- Turunan
Contoh
// 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
Keterangan
Jika Anda menulis kontrol server kustom yang mewarisi dari WebControlkelas , , HtmlControlatau ListItem , .NET Framework secara otomatis menyediakan akses terprogram ke atribut karena masing-masing kelas ini mengimplementasikan IAttributeAccessor antarmuka.
Jika Anda menulis kontrol server kustom yang tidak mewarisi dari salah satu kelas ini dan berencana untuk mengizinkan akses terprogram ke atribut yang tidak sesuai dengan properti kontrol yang sangat diketik, pastikan untuk mengimplementasikan IAttributeAccessor antarmuka.
Metode
GetAttribute(String) |
Saat diimplementasikan oleh kelas, mengambil properti atribut yang ditentukan dari kontrol server. |
SetAttribute(String, String) |
Saat diimplementasikan oleh kelas, menunjuk atribut dan nilainya untuk ditetapkan ke kontrol server ASP.NET. |