Page.RegisterRequiresControlState(Control) Methode
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.
Registreert een besturingselement als een besturingselement waarvan de controlestatus moet worden behouden.
public:
void RegisterRequiresControlState(System::Web::UI::Control ^ control);
public void RegisterRequiresControlState(System.Web.UI.Control control);
member this.RegisterRequiresControlState : System.Web.UI.Control -> unit
Public Sub RegisterRequiresControlState (control As Control)
Parameters
- control
- Control
Het besturingselement dat moet worden geregistreerd.
Uitzonderingen
Het te registreren besturingselement is null.
De RegisterRequiresControlState(Control) methode kan alleen vóór of tijdens de PreRender gebeurtenis worden aangeroepen.
Voorbeelden
In het volgende codevoorbeeld ziet u een aangepast serverbeheer dat de RegisterRequiresControlState methode aanroept.
public class Sample : Control {
private int currentIndex = 0;
protected override void OnInit(EventArgs e) {
Page.RegisterRequiresControlState(this);
base.OnInit(e);
}
protected override object SaveControlState() {
return currentIndex != 0 ? (object)currentIndex : null;
}
protected override void LoadControlState(object state) {
if (state != null) {
currentIndex = (int)state;
}
}
}
Class Sample
Inherits Control
Dim currentIndex As Integer
Protected Overrides Sub OnInit(ByVal e As EventArgs)
Page.RegisterRequiresControlState(Me)
currentIndex = 0
MyBase.OnInit(e)
End Sub
Protected Overrides Function SaveControlState() As Object
If currentIndex <> 0 Then
Return CType(currentIndex, Object)
Else
Return Nothing
End If
End Function
Protected Overrides Sub LoadControlState(ByVal state As Object)
If (state <> Nothing) Then
currentIndex = CType(state, Integer)
End If
End Sub
End Class
Opmerkingen
Aangepaste serverbesturingselementen die de controlestatus gebruiken, moeten de RegisterRequiresControlState methode voor elke aanvraag aanroepen, omdat registratie voor de controlestatus niet wordt overgedragen van aanvraag naar aanvraag tijdens een terugvalgebeurtenis. Het wordt aanbevolen dat de registratie plaatsvindt in de Init gebeurtenis.