IPostBackDataHandler 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, die von ASP.NET-Serversteuerelementen implementiert werden müssen, um Postbackdaten automatisch zu laden.
public interface class IPostBackDataHandler
public interface IPostBackDataHandler
type IPostBackDataHandler = interface
Public Interface IPostBackDataHandler
- Abgeleitet
Beispiele
Im folgenden Codebeispiel wird ein benutzerdefiniertes Textfeld-Serversteuerelement veranschaulicht, das die IPostBackDataHandler Schnittstelle implementiert. Die Text Eigenschaft wird durch das Postback geändert, und das Serversteuerelement löst ein Ereignis aus TextChanged , nachdem Postbackdaten geladen wurden.
using System;
using System.Web;
using System.Web.UI;
using System.Collections;
using System.Collections.Specialized;
namespace CustomWebFormsControls {
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
public class MyTextBox: Control, IPostBackDataHandler {
public String Text {
get {
return (String) ViewState["Text"];
}
set {
ViewState["Text"] = value;
}
}
public event EventHandler TextChanged;
public virtual bool LoadPostData(string postDataKey,
NameValueCollection postCollection) {
String presentValue = Text;
String postedValue = postCollection[postDataKey];
if (presentValue == null || !presentValue.Equals(postedValue)) {
Text = postedValue;
return true;
}
return false;
}
public virtual void RaisePostDataChangedEvent() {
OnTextChanged(EventArgs.Empty);
}
protected virtual void OnTextChanged(EventArgs e) {
if (TextChanged != null)
TextChanged(this,e);
}
protected override void Render(HtmlTextWriter output) {
output.Write("<INPUT type= text name = "+this.UniqueID
+ " value = " + this.Text + " >");
}
}
}
Imports System.Web
Imports System.Web.UI
Imports System.Collections
Imports System.Collections.Specialized
Namespace CustomWebFormsControls
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> Public Class MyTextBox
Inherits Control
Implements IPostBackDataHandler
Public Property Text() As String
Get
Return CType(Me.ViewState("Text"), String)
End Get
Set
Me.ViewState("Text") = value
End Set
End Property
Public Event TextChanged As EventHandler
Public Overridable Shadows Function LoadPostData( _
postDataKey As String, _
postCollection As System.Collections.Specialized.NameValueCollection) _
As Boolean Implements IPostBackDataHandler.LoadPostData
Dim presentValue As String = Text
Dim postedValue As String = postCollection(postDataKey)
If presentValue Is Nothing Or Not presentValue.Equals(postedValue) Then
Text = postedValue
Return True
End If
Return False
End Function
Public Overridable Shadows Sub RaisePostDataChangedEvent() _
Implements IPostBackDataHandler.RaisePostDataChangedEvent
OnTextChanged(EventArgs.Empty)
End Sub
Protected Overridable Sub OnTextChanged(e As EventArgs)
RaiseEvent TextChanged(Me, e)
End Sub
Protected Overrides Sub Render(output As HtmlTextWriter)
output.Write("<INPUT type= text name = " & Me.UniqueID & _
" value = " & Me.Text & " >")
End Sub
End Class
End Namespace
Hinweise
Sie müssen die IPostBackDataHandler Schnittstelle implementieren, wenn Sie ein Serversteuerelement erstellen, das Formulardaten untersuchen muss, die vom Client zurück an den Server gesendet werden. Der Vertrag, den diese Schnittstelle definiert, ermöglicht es einem Serversteuerelement, zu bestimmen, ob sein Zustand infolge des Postbacks geändert werden soll, und die entsprechenden Ereignisse auszulösen. Weitere Informationen finden Sie unter Serverereignisbehandlung in ASP.NET Web Forms-Seiten.
Methoden
LoadPostData(String, NameValueCollection) |
Verarbeitet bei der Implementierung durch eine Klasse Postbackdaten für ein ASP.NET-Serversteuerelement. |
RaisePostDataChangedEvent() |
Signalisiert für das Serversteuerelement bei der Implementierung durch eine Klasse, dass die ASP.NET-Anwendung über die Zustandsänderung des Steuerelements benachrichtigt werden soll. |