IPostBackDataHandler Interface
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Definieert methoden die ASP.NET serverbesturingselementen moeten implementeren om gegevens automatisch te laden.
public interface class IPostBackDataHandler
public interface IPostBackDataHandler
type IPostBackDataHandler = interface
Public Interface IPostBackDataHandler
- Afgeleid
Voorbeelden
In het volgende codevoorbeeld ziet u een aangepast besturingselement voor een tekstvakserver waarmee de IPostBackDataHandler interface wordt geïmplementeerd. De Text eigenschap wordt gewijzigd als gevolg van de postback en het serverbesturingselement genereert een TextChanged gebeurtenis nadat de postbackgegevens zijn geladen.
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
Opmerkingen
U moet de interface implementeren bij het IPostBackDataHandler maken van een serverbesturingselement dat formuliergegevens moet onderzoeken die door de client op de server worden geplaatst. Het contract dat door deze interface wordt gedefinieerd, stelt een serverbeheer in staat om te bepalen of de status ervan moet worden gewijzigd als gevolg van de terugval en om de juiste gebeurtenissen te genereren. Zie Server Event Handling in ASP.NET Web Forms Pages voor meer informatie.
Methoden
| Name | Description |
|---|---|
| LoadPostData(String, NameValueCollection) |
Wanneer deze worden geïmplementeerd door een klasse, worden postbackgegevens verwerkt voor een ASP.NET serverbeheer. |
| RaisePostDataChangedEvent() |
Wanneer deze wordt geïmplementeerd door een klasse, geeft u het serverbeheer aan om de ASP.NET toepassing op de hoogte te stellen dat de status van het besturingselement is gewijzigd. |