Freigeben über


StateItem-Klasse

Stellt ein Element dar, das in der StateBag-Klasse gespeichert wird, wenn die Informationen über den Ansichtszustand zwischen den Webanforderungen beibehalten werden. Diese Klasse kann nicht vererbt werden.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public NotInheritable Class StateItem
'Usage
Dim instance As StateItem
public sealed class StateItem
public ref class StateItem sealed
public final class StateItem
public final class StateItem

Hinweise

Der Ansichtszustand besteht in der Ansammlung der Eigenschaftenwerte einer Seite oder eines ASP.NET-Serversteuerelements und wird in einem ausgeblendeten Feld an den anfordernden Browser gesendet.

Sie können dem StateBag-Objekt eines ASP.NET-Serversteuerelements explizit StateItem-Objekte mithilfe der Item-Eigenschaft oder der Add-Methode hinzufügen. StateBag verfolgt dann Änderungen für alle gespeicherten Elemente. Alle Änderungen an einem StateItem-Objekt werden in dessen IsDirty-Eigenschaft widergespiegelt. Diese Änderungen werden während der Phase der Speicherung des Ansichtszustands (kurz bevor das Steuerelement auf der Seite wiedergegeben wird) durch Aufrufen der SaveViewState-Methode gespeichert. Weitere Informationen finden Sie unter ASP.NET-Webserver-Steuerelemente.

Beispiel

Im folgenden Codebeispiel werden die Value-Eigenschaft und die IsDirty-Eigenschaft der StateItem-Klasse verwendet, um den Zustand der einfachen benutzerdefinierten ASP.NET-Serversteuerelementklasse FirstCustomControl zu speichern. Wenn die Seite an den Server übermittelt wurde, überprüft die IsDirty-Eigenschaft, ob das Element geändert wurde. Die Zustandswerte werden angezeigt, indem auf die Value-Eigenschaft zugegriffen wird.

    ' Create a function that iterates through the view-state
    ' values stored for this class and returns the
    ' results as a string.
    Public Function EnumerateViewState() As String
        Dim keyName, keyValue As String
        Dim result As String = [String].Empty
        Dim myStateItem As StateItem
        Dim myDictionaryEnumerator As IDictionaryEnumerator = _viewstate.GetEnumerator()
        While myDictionaryEnumerator.MoveNext()
            keyName = CStr(myDictionaryEnumerator.Key)
            myStateItem = CType(myDictionaryEnumerator.Value, StateItem)
            keyValue = CStr(myStateItem.Value)
            result = result + "<br>ViewState[" + keyName + "] = " + keyValue
        End While
        Return result
    End Function 'EnumerateViewState
End Class 'MyItem 
// Create a function that iterates through the view-state
// values stored for this class and returns the
// results as a string.
public string EnumerateViewState()
{
    string keyName, keyValue;
    string result = String.Empty;
    StateItem myStateItem;
    IDictionaryEnumerator myDictionaryEnumerator = _viewstate.GetEnumerator();
    while (myDictionaryEnumerator.MoveNext())
    {
        keyName = (string)myDictionaryEnumerator.Key;
        myStateItem = (StateItem)myDictionaryEnumerator.Value;
        keyValue = (string)myStateItem.Value;
        result = result + "<br>ViewState[" + keyName + "] = " + keyValue;
    }
    return result;
}
// Create a function that iterates through the view-state
// values stored for this class and returns the
// results as a string.
public String EnumerateViewState()
{
    String keyName, keyValue;
    String result = "";
    StateItem myStateItem;
    IDictionaryEnumerator myDictionaryEnumerator = 
        _viewState.GetEnumerator();
    while (myDictionaryEnumerator.MoveNext()) {
        keyName = (String)myDictionaryEnumerator.get_Key();
        myStateItem = (StateItem) myDictionaryEnumerator.get_Value();
        keyValue = (String)myStateItem.get_Value();
        result = result + "<br>ViewState[" + keyName + "] = " + keyValue;
    }
    return result;
} //EnumerateViewState

Vererbungshierarchie

System.Object
  System.Web.UI.StateItem

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

StateItem-Member
System.Web.UI-Namespace
StateBag-Klasse
SaveViewState

Weitere Ressourcen

ASP.NET-Webserver-Steuerelemente
ASP.NET-Zustandsverwaltung