StateBag 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
페이지를 포함하여 ASP.NET 서버 컨트롤의 뷰 상태를 관리합니다. 이 클래스는 상속될 수 없습니다.
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
- 구현
예제
다음 코드 예제에서는 및 속성이 있는 복합 Label
컨트롤을 Text
보여 줍니다 FontSize
. 이러한 속성은 에 저장되고 컨트롤에서 메서드가 Control.Render 호출될 때 뷰 상태에서 검색됩니다.
// 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
설명
페이지 또는 컨트롤의 보기 상태는 해당 페이지 또는 컨트롤의 누적 속성 값 또는 뷰입니다. 속성을 통해 이 클래스에 Control.ViewState 액세스할 수 있습니다. 컨트롤은 필수 상태 정보를 제어 상태에 저장할 수도 있지만 해당 정보는 개체로 StateBag 저장되지 않습니다.
이 클래스는 모든 HTML 및 웹 서버 컨트롤에 대한 기본 스토리지 메커니즘입니다. 특성/값 쌍을 컨트롤과 연결된 문자열로 저장합니다. 페이지 요청에 대해 메서드를 실행한 후에만 이러한 특성의 OnInit 변경 내용을 추적하고 변경 내용을 페이지 또는 컨트롤의 뷰 상태에 저장합니다.
이 클래스는 사전을 구현하며, 사전 개체와 마찬가지로 항목을 추가하거나 항목을 제거할 수 있습니다. 사전과 같은 데이터 컬렉션에 대한 자세한 내용은 컬렉션 및 데이터 구조를 참조하세요.
생성자
StateBag() |
StateBag 클래스의 새 인스턴스를 초기화합니다. 클래스의 매개 변수가 없는 생성자입니다. |
StateBag(Boolean) |
저장된 상태 값의 대/소문자를 구분하지 않도록 하는 StateBag 클래스의 새 인스턴스를 초기화합니다. |
속성
Count | |
Item[String] |
StateBag 개체에 저장된 항목의 값을 가져오거나 설정합니다. |
Keys |
StateBag 개체의 항목을 나타내는 키 컬렉션을 가져옵니다. |
Values |
StateBag 개체에 저장된 뷰 상태 값의 컬렉션을 가져옵니다. |
메서드
Add(String, Object) |
StateItem 개체에 새 StateBag 개체를 추가합니다. 해당 항목이 StateBag에 이미 있으면 이 메서드는 해당 항목의 값을 업데이트합니다. |
Clear() |
현재 StateBag 개체에서 모든 항목을 제거합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetEnumerator() |
StateItem 개체에 저장된 StateBag 개체의 모든 키/값 쌍 전체를 반복하는 열거자를 반환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
IsItemDirty(String) |
StateItem를 호출한 이후로 StateBag 개체에 저장된 TrackViewState() 개체가 수정되었는지 여부를 확인합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
Remove(String) |
StateBag 개체에서 지정된 키/값 쌍을 제거합니다. |
SetDirty(Boolean) | |
SetItemDirty(String, Boolean) | |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
ICollection.CopyTo(Array, Int32) |
이 멤버에 대한 설명은 CopyTo(Array, Int32)를 참조하세요. |
ICollection.IsSynchronized |
이 멤버에 대한 설명은 IsSynchronized를 참조하세요. |
ICollection.SyncRoot |
이 멤버에 대한 설명은 SyncRoot를 참조하세요. |
IDictionary.Add(Object, Object) |
이 멤버에 대한 설명은 Add(Object, Object)를 참조하세요. |
IDictionary.Contains(Object) |
이 멤버에 대한 설명은 Contains(Object)를 참조하세요. |
IDictionary.IsFixedSize |
이 멤버에 대한 설명은 IsFixedSize를 참조하세요. |
IDictionary.IsReadOnly |
이 멤버에 대한 설명은 IsReadOnly를 참조하세요. |
IDictionary.Item[Object] |
이 멤버에 대한 설명은 Item[Object]를 참조하세요. |
IDictionary.Remove(Object) |
이 멤버에 대한 설명은 Remove(Object)를 참조하세요. |
IEnumerable.GetEnumerator() |
이 멤버에 대한 설명은 GetEnumerator()를 참조하세요. |
IStateManager.IsTrackingViewState |
상태 변경이 추적되고 있는지 여부를 나타내는 값을 가져옵니다. |
IStateManager.LoadViewState(Object) |
이전에 저장된 StateBag 개체의 뷰 상태를 복원합니다. |
IStateManager.SaveViewState() |
페이지가 서버에 포스트백된 이후에 발생한 StateBag 개체의 변경 내용을 저장합니다. |
IStateManager.TrackViewState() |
StateBag 개체가 상태 변경 내용을 추적하므로 요청 간에 지속될 수 있습니다. |
확장 메서드
Cast<TResult>(IEnumerable) |
IEnumerable의 요소를 지정된 형식으로 캐스팅합니다. |
OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable의 요소를 필터링합니다. |
AsParallel(IEnumerable) |
쿼리를 병렬화할 수 있도록 합니다. |
AsQueryable(IEnumerable) |
IEnumerable을 IQueryable로 변환합니다. |
적용 대상
추가 정보
.NET