Control.SaveControlState Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyimpan perubahan status kontrol server yang telah terjadi sejak halaman diposting kembali ke server.
protected public:
virtual System::Object ^ SaveControlState();
protected internal virtual object SaveControlState ();
abstract member SaveControlState : unit -> obj
override this.SaveControlState : unit -> obj
Protected Friend Overridable Function SaveControlState () As Object
Mengembalikan
Mengembalikan status kontrol server saat ini. Jika tidak ada status yang terkait dengan kontrol, metode ini mengembalikan null
.
Contoh
Contoh kode berikut mengambil alih SaveControlState metode dalam kontrol ASP.NET kustom. Ketika metode ini dipanggil, metode ini menentukan apakah properti currentIndex
internal diatur ke nilai non-default dan, jika demikian, menyimpan nilai ke status kontrol.
Metode OnInit ini ditimpa untuk memanggil RegisterRequiresControlState metode pada Page untuk menunjukkan bahwa kontrol kustom menggunakan status kontrol.
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
Keterangan
SaveControlState Gunakan metode untuk menyimpan informasi status yang diperlukan untuk pengoperasian kontrol tertentu. Data status kontrol ini disimpan secara terpisah dari data status tampilan kontrol.
Kontrol kustom menggunakan status kontrol harus memanggil RegisterRequiresControlState metode pada Page sebelum menyimpan status kontrol.
Catatan Bagi Inheritor
Saat status kontrol disimpan, objek string dikembalikan ke klien sebagai variabel yang disimpan dalam elemen HTML HIDDEN
. Ambil alih metode ini untuk mengekstrak informasi status yang akan digunakan dalam kontrol Anda.
Status kontrol ditujukan untuk sejumlah kecil data penting, seperti indeks halaman atau kata kunci. Menggunakan status kontrol untuk sejumlah besar data dapat berdampak buruk pada performa halaman. Untuk informasi selengkapnya, lihat Ringkasan Manajemen Status ASP.NET.