次の方法で共有


Page.EnableViewState プロパティ

現在のページ要求が終了したとき、ページがそのビューステート、および格納しているサーバー コントロールのビューステートを維持するかどうかを示す値を取得または設定します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public Overrides Property EnableViewState As Boolean
'使用
Dim instance As Page
Dim value As Boolean

value = instance.EnableViewState

instance.EnableViewState = value
public override bool EnableViewState { get; set; }
public:
virtual property bool EnableViewState {
    bool get () override;
    void set (bool value) override;
}
/** @property */
public boolean get_EnableViewState ()

/** @property */
public void set_EnableViewState (boolean value)
public override function get EnableViewState () : boolean

public override function set EnableViewState (value : boolean)
適用できません。

プロパティ値

ページがビューステートを維持する場合は true。それ以外の場合は false。既定値は true です。

解説

ASP.NET によって使用されるページには、ポストバックを検出することを目的として、EnableViewStatefalse の場合でも読み込まれる非表示のビューステート フィールドが存在する場合があります。

使用例

ページの読み込み時に、EnableViewState プロパティを false に設定するコード例を次に示します。このように設定すると Page オブジェクトのビューステートが無効になります。つまり、ページのビューステート情報もページ内のコントロールも保存されません。

セキュリティに関するメモセキュリティに関するメモ :

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。詳細については、「スクリプトによる攻略の概要」を参照してください。

Public Class WebPage
   Inherits System.Web.UI.Page
   Private myFormObj As MyForm
   Private label1 As Label
   Private label2 As Label
   Private textBoxObj As TextBox
   Private buttonObj As Button
   
   Public Sub New()
      AddHandler Page.Init, AddressOf Page_Init
   End Sub 'New
   
   
   Private Sub Page_Load(sender As Object, e As System.EventArgs)
      ' Comment the following line to maintain page view state.
      Page.EnableViewState = false
      myFormObj.Method = "post"
      Controls.Add(myFormObj)
      textBoxObj.Text = "Welcome to .NET"
      
      label1.Text = "Enter a name"
      buttonObj.Text = "ClickMe"
      AddHandler buttonObj.Click, AddressOf Button_Click
      myFormObj.Controls.Add(label1)
      myFormObj.Controls.Add(textBoxObj)
      myFormObj.Controls.Add(buttonObj)
      myFormObj.Controls.Add(label2)
   End Sub 'Page_Load
   
   Private Sub Button_Click(sender As Object, e As EventArgs)
      Dim temp As [String] = "<br>Name is " + textBoxObj.Text + "<br>"
      temp += "Saved content of previous page is " + CType(ViewState("name"), String)
      label2.Text = temp
   End Sub 'Button_Click
   
   Protected Overrides Sub LoadViewState(viewState As Object)
      If Not (viewState Is Nothing) Then
         MyBase.LoadViewState(viewState)
      End If
   End Sub 'LoadViewState
   
   Protected Overrides Function SaveViewState() As Object
      ViewState("name") = textBoxObj.Text
      Return MyBase.SaveViewState()
   End Function 'SaveViewState
   
   Private Sub Page_Init(sender As Object, e As EventArgs)
      AddHandler Me.Load, AddressOf Me.Page_Load
      myFormObj = New MyForm()
      label1 = New Label()
      label2 = New Label()
      textBoxObj = New TextBox()
      buttonObj = New Button()
   End Sub 'Page_Init
End Class 'WebPage
public class WebPage : Page
{
   private MyForm myFormObj;
   private Label label1;
   private Label label2;
   private TextBox textBoxObj;
   private Button buttonObj;

   public WebPage()
   {
      Page.Init += new System.EventHandler(Page_Init);
   }

   private void Page_Load(object sender, System.EventArgs e)
   {
      // Comment the following line to maintain page view state.
      Page.EnableViewState = false;
      myFormObj.Method = "post";
      Controls.Add(myFormObj);
      textBoxObj.Text = "Welcome to .NET";

      label1.Text = "Enter a name";
      buttonObj.Text = "ClickMe";
      buttonObj.Click += new EventHandler(Button_Click);
      myFormObj.Controls.Add(label1);
      myFormObj.Controls.Add(textBoxObj);
      myFormObj.Controls.Add(buttonObj);
      myFormObj.Controls.Add(label2);
   }
   private void Button_Click(object sender, EventArgs e)
   {
      String temp = "<br>Name is " + textBoxObj.Text + "<br>";
      temp += "Saved content of previous page is " + ViewState["name"] as String;
      label2.Text = temp;
   }
   protected override void LoadViewState(object viewState)
   {
      if(viewState != null)
         base.LoadViewState(viewState);
   }
   protected override object SaveViewState()
   {
      ViewState["name"] = textBoxObj.Text;
      return base.SaveViewState();
   }
   private void Page_Init(object sender, EventArgs e)
   {
      this.Load += new System.EventHandler(this.Page_Load);

      myFormObj = new MyForm();
      label1 = new Label();
      label2 = new Label();
      textBoxObj = new TextBox();
      buttonObj = new Button();
   }
};
public class WebPage extends Page
{
    private MyForm myFormObj;
    private Label label1;
    private Label label2;
    private TextBox textBoxObj;
    private Button buttonObj;

    public WebPage()
    {
        get_Page().add_Init(new System.EventHandler(Page_Init));
    } //WebPage

    private void Page_Load(Object sender, System.EventArgs e)
    {
        // Comment the following line to maintain page view state.
        get_Page().set_EnableViewState(false);
        myFormObj.set_Method("post");
        get_Controls().Add(myFormObj);
        textBoxObj.set_Text("Welcome to .NET");
        label1.set_Text("Enter a name");
        buttonObj.set_Text("ClickMe");
        buttonObj.add_Click(new EventHandler(Button_Click));
        myFormObj.get_Controls().Add(label1);
        myFormObj.get_Controls().Add(textBoxObj);
        myFormObj.get_Controls().Add(buttonObj);
        myFormObj.get_Controls().Add(label2);
    } //Page_Load

    private void Button_Click(Object sender, EventArgs e)
    {
        String temp = "<br>Name is " + textBoxObj.get_Text() + "<br>";
        temp += "Saved content of previous page is " 
            + get_ViewState().get_Item("name");
        label2.set_Text(temp);
    } //Button_Click

    protected void LoadViewState(Object viewState)
    {
        if (viewState != null) {
            super.LoadViewState(viewState);
        }
    } //LoadViewState

    protected Object SaveViewState()
    {
        get_ViewState().set_Item("name", textBoxObj.get_Text());
        return super.SaveViewState();
    } //SaveViewState

    private void Page_Init(Object sender, EventArgs e)
    {
        this.add_Load(new System.EventHandler(this.Page_Load));
        myFormObj = new MyForm();
        label1 = new Label();
        label2 = new Label();
        textBoxObj = new TextBox();
        buttonObj = new Button();
    } //Page_Init
} //WebPage

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

Page クラス
Page メンバ
System.Web.UI 名前空間
EnableViewStateMac