StateBag 클래스

정의

페이지를 포함하여 ASP.NET 서버 컨트롤의 뷰 상태를 관리합니다.Manages the view state of ASP.NET server controls, including pages. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class StateBag sealed : System::Collections::IDictionary, System::Web::UI::IStateManager
public sealed class StateBag : System.Collections.IDictionary, System.Web.UI.IStateManager
type StateBag = class
    interface IStateManager
    interface IDictionary
    interface ICollection
    interface IEnumerable
Public NotInheritable Class StateBag
Implements IDictionary, IStateManager
상속
StateBag
구현

예제

다음 코드 예제에서는 TextFontSize 속성이 있는 복합 Label 컨트롤을 보여 줍니다.The following code example demonstrates a composite Label control that has Text and FontSize properties. 이러한 속성은 컨트롤에서 Control.Render 메서드가 호출 될 때 뷰 상태에 저장 되 고 검색 됩니다.These properties are saved to and retrieved from view state when the Control.Render method is called on the control.

// This control renders values stored in view state for Text and FontSize properties.
using System;
using System.Web;
using System.Web.UI;

namespace ViewStateControlSamples
{

    public class CustomLabel : Control
    {
        private const int defaultFontSize = 3;

        // Add property values to view state with set;
        // retrieve them from view state with get.
        public String Text
        {
            get 
            { 
                object o = ViewState["Text"]; 
                return (o == null)? String.Empty : (string)o;
            }

            set
            {
                ViewState["Text"] = value;
            }
        }


        public int FontSize
        {
            get
            {
                object o = ViewState["FontSize"];
                return (o == null) ? defaultFontSize : (int)o;
            }
            set
            {
                ViewState["FontSize"] = value;
            }
        }

        [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
        protected override void Render(HtmlTextWriter output)
        {
            output.Write("<font size=" + this.FontSize.ToString() + ">" + this.Text + "</font>");
        }
    }
}
' This control renders values stored in view state for Text and FontSize properties.

Imports System.Web
Imports System.Web.UI

Namespace ViewStateControlSamples

    Public Class CustomLabel : Inherits Control
        Private Const defaultFontSize As Integer = 3

        ' Add property values to view state with set; 
        ' retrieve them from view state with get.
        Public Property [Text]() As String
            Get
                Dim o As Object = ViewState("Text")
                If (IsNothing(o)) Then
                    Return String.Empty
                Else
                    Return CStr(o)
                End If
            End Get
            Set(ByVal value As String)
                ViewState("Text") = value
            End Set
        End Property


        Public Property FontSize() As Integer
            Get
                Dim o As Object = ViewState("FontSize")
                If (IsNothing(o)) Then
                    Return defaultFontSize
                Else
                    Return CInt(ViewState("FontSize"))
                End If

            End Get
            Set(ByVal value As Integer)
                ViewState("FontSize") = value
            End Set
        End Property
        <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
        Protected Overrides Sub Render(ByVal Output As HtmlTextWriter)
            Output.Write("<font size=" & Me.FontSize & ">" & Me.Text & "</font>")
        End Sub

    End Class

End Namespace

설명

페이지 또는 컨트롤의 뷰 상태는 해당 페이지 또는 컨트롤의 누적 속성 값 또는 뷰입니다.View state for a page or control is the cumulative property values, or view, of that page or control. Control.ViewState 속성을 통해이 클래스에 액세스할 수 있습니다.You can access this class through the Control.ViewState property. 컨트롤은 필수 상태 정보를 컨트롤 상태에 저장할 수도 있지만 해당 정보는 StateBag 개체로 저장 되지 않습니다.Controls can also store essential state information in control state, but that information is not stored as a StateBag object.

이 클래스는 모든 HTML 및 웹 서버 컨트롤에 대한 기본 스토리지 메커니즘입니다.This class is the primary storage mechanism for all HTML and Web server controls. 특성/값 쌍을 컨트롤과 연결 된 문자열로 저장 합니다.It stores attribute/value pairs as strings associated with the control. 페이지 요청에 대 한 OnInit 메서드를 실행 한 후에만 이러한 특성에 대 한 변경 내용을 추적 하 고 페이지 또는 컨트롤의 뷰 상태에 대 한 변경 내용을 저장 합니다.It tracks changes to these attributes only after the OnInit method is executed for a page request, and saves the changes to the page's or control's view state.

이 클래스는 사전을 구현 하며 사전 개체와 마찬가지로 항목을 추가 하거나 항목을 제거할 수 있습니다.This class implements a dictionary, and you can add items to it or remove items from it as you would any dictionary object. 사전과 같은 데이터 컬렉션에 대 한 자세한 내용은 컬렉션 및 데이터 구조를 참조 하세요.For more information about data collections, such as dictionaries, see Collections and Data Structures.

생성자

StateBag()

StateBag 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the StateBag class. 클래스의 매개 변수가 없는 생성자입니다.This is the parameterless constructor for this class.

StateBag(Boolean)

저장된 상태 값의 대/소문자를 구분하지 않도록 하는 StateBag 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the StateBag class that allows stored state values to be case-insensitive.

속성

Count

StateItemStateBag 개체 수를 가져옵니다.Gets the number of StateItem objects in the StateBag object.

Item[String]

StateBag 개체에 저장된 항목의 값을 가져오거나 설정합니다.Gets or sets the value of an item stored in the StateBag object.

Keys

StateBag 개체의 항목을 나타내는 키 컬렉션을 가져옵니다.Gets a collection of keys representing the items in the StateBag object.

Values

StateBag 개체에 저장된 뷰 상태 값의 컬렉션을 가져옵니다.Gets a collection of the view-state values stored in the StateBag object.

메서드

Add(String, Object)

StateItem 개체에 새 StateBag 개체를 추가합니다.Adds a new StateItem object to the StateBag object. 해당 항목이 StateBag에 이미 있으면 이 메서드는 해당 항목의 값을 업데이트합니다.If the item already exists in the StateBag object, this method updates the value of the item.

Clear()

현재 StateBag 개체에서 모든 항목을 제거합니다.Removes all items from the current StateBag object.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetEnumerator()

StateItem 개체에 저장된 StateBag 개체의 모든 키/값 쌍 전체를 반복하는 열거자를 반환합니다.Returns an enumerator that iterates over all the key/value pairs of the StateItem objects stored in the StateBag object.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IsItemDirty(String)

StateItem를 호출한 이후로 StateBag 개체에 저장된 TrackViewState() 개체가 수정되었는지 여부를 확인합니다.Checks a StateItem object stored in the StateBag object to evaluate whether it has been modified since the call to TrackViewState().

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Remove(String)

StateBag 개체에서 지정된 키/값 쌍을 제거합니다.Removes the specified key/value pair from the StateBag object.

SetDirty(Boolean)

StateBag 개체의 상태와 포함된 각 StateItem 개체의 Dirty 속성을 설정합니다.Sets the state of the StateBag object as well as the Dirty property of each of the StateItem objects contained by it.

SetItemDirty(String, Boolean)

Dirty 개체에 있는 지정된 StateItem 개체의 StateBag 속성을 설정합니다.Sets the Dirty property for the specified StateItem object in the StateBag object.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

이 멤버에 대한 설명은 CopyTo(Array, Int32)를 참조하세요.For a description of this member, see CopyTo(Array, Int32).

ICollection.IsSynchronized

이 멤버에 대한 설명은 IsSynchronized를 참조하세요.For a description of this member, see IsSynchronized.

ICollection.SyncRoot

이 멤버에 대한 설명은 SyncRoot를 참조하세요.For a description of this member, see SyncRoot.

IDictionary.Add(Object, Object)

이 멤버에 대한 설명은 Add(Object, Object)를 참조하세요.For a description of this member, see Add(Object, Object).

IDictionary.Contains(Object)

이 멤버에 대한 설명은 Contains(Object)를 참조하세요.For a description of this member, see Contains(Object).

IDictionary.IsFixedSize

이 멤버에 대한 설명은 IsFixedSize를 참조하세요.For a description of this member, see IsFixedSize.

IDictionary.IsReadOnly

이 멤버에 대한 설명은 IsReadOnly를 참조하세요.For a description of this member, see IsReadOnly.

IDictionary.Item[Object]

이 멤버에 대한 설명은 Item[Object]를 참조하세요.For a description of this member, see Item[Object].

IDictionary.Remove(Object)

이 멤버에 대한 설명은 Remove(Object)를 참조하세요.For a description of this member, see Remove(Object).

IEnumerable.GetEnumerator()

이 멤버에 대한 설명은 GetEnumerator()를 참조하세요.For a description of this member, see GetEnumerator().

IStateManager.IsTrackingViewState

상태 변경이 추적되고 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether state changes are being tracked.

IStateManager.LoadViewState(Object)

이전에 저장된 StateBag 개체의 뷰 상태를 복원합니다.Restores the previously saved view state of the StateBag object.

IStateManager.SaveViewState()

페이지가 서버에 포스트백된 이후에 발생한 StateBag 개체의 변경 내용을 저장합니다.Saves the changes to the StateBag object since the time the page was posted back to the server.

IStateManager.TrackViewState()

StateBag 개체가 상태 변경 내용을 추적하므로 요청 간에 지속될 수 있습니다.Causes the StateBag object to track changes to its state so that it can be persisted across requests.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

적용 대상

추가 정보