Page.RegisterRequiresControlState(Control) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Регистрирует элемент управления, как элемент управления с сохраняемым состоянием.
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)
Параметры
- control
- Control
Регистрируемый элемент управления.
Исключения
Регистрируемый элемент управления имеет значение null
.
Метод RegisterRequiresControlState(Control) может вызываться только до или во время события PreRender.
Примеры
В следующем примере кода показан пользовательский серверный элемент управления, вызывающий RegisterRequiresControlState метод .
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
Комментарии
Пользовательские серверные элементы управления, использующие состояние элемента управления, должны вызывать RegisterRequiresControlState метод при каждом запросе, так как регистрация состояния элемента управления не переносится из запроса в запрос во время события обратной передачи. Рекомендуется, чтобы регистрация происходила в событии Init .