IPostBackDataHandler Interfejs
Definicja
Definiuje metody, które kontrolki serwera ASP.NET muszą zaimplementować, aby automatycznie ładować dane ogłaszania zwrotnego.Defines methods that ASP.NET server controls must implement to automatically load postback data.
public interface class IPostBackDataHandler
public interface IPostBackDataHandler
type IPostBackDataHandler = interface
Public Interface IPostBackDataHandler
- Pochodne
Przykłady
Poniższy przykład kodu demonstruje niestandardowy formant serwera pola tekstowego, który implementuje IPostBackDataHandler interfejs.The following code example demonstrates a custom text box server control that implements the IPostBackDataHandler interface. TextWłaściwość zostanie zmieniona w wyniku ogłaszania zwrotnego, a kontrolka serwera zgłasza TextChanged zdarzenie po załadowaniu danych dotyczących ogłaszania zwrotnego.The Text property is changed as a result of the postback, and the server control raises a TextChanged event after postback data has been loaded.
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
Uwagi
Interfejs należy zaimplementować IPostBackDataHandler podczas tworzenia kontrolki serwera, która musi przeanalizować dane formularza, które są ogłaszane na serwerze przez klienta.You must implement the IPostBackDataHandler interface when creating a server control that needs to examine form data that is posted back to the server by the client. Kontrakt zdefiniowany przez ten interfejs umożliwia formantowi serwera określenie, czy jego stan powinien zostać zmieniony w wyniku ogłaszania zwrotnego i aby podnieść odpowiednie zdarzenia.The contract that this interface defines allows a server control to determine whether its state should be altered as a result of the postback, and to raise the appropriate events. Aby uzyskać więcej informacji, zobacz temat Obsługa zdarzeń serwera na stronach formularzy sieci Web ASP.NET.For more information, see Server Event Handling in ASP.NET Web Forms Pages.
Metody
LoadPostData(String, NameValueCollection) |
W przypadku implementacji przez klasę program przetwarza dane ogłaszania zwrotnego dla kontrolki serwera ASP.NET.When implemented by a class, processes postback data for an ASP.NET server control. |
RaisePostDataChangedEvent() |
Po zaimplementowaniu przez klasę program sygnalizuje formant serwera w celu powiadomienia aplikacji ASP.NET o zmianie stanu formantu.When implemented by a class, signals the server control to notify the ASP.NET application that the state of the control has changed. |