Bagikan melalui


Control.SaveControlState Metode

Definisi

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.

Berlaku untuk

Lihat juga