ASP.NET ViewState

   

ViewStateはデータを保存できますが画面遷移時にデータを引き継げません。

このサンプルは説明のために作成してます。

初回起動時の貴方の名前を教えてくださいを保存しておきましょう。

Button1を押下したら保存しといた貴方の名前を教えてくださいがラベルに表示されるはずです。

ViewState("ViewState名")
ViewState("deta") = TextBox1.Text

Label1.Text = ViewState("deta")

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Button ID="Button2" runat="server" Text="Button" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>

</form>
</body>
</html>

Partial Class _Default
Inherits System.Web.UI.Page
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then
TextBox1.Text = "文字を入力してください。"
Exit Sub

End If
TextBox1.Text = "ようこそ" & TextBox1.Text & "さん"
Label1.Text = ViewState("deta")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

Response.Redirect("Default2.aspx")
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If IsPostBack = False Then
TextBox1.Text = "貴方の名前を教えてください"
ViewState("deta") = TextBox1.Text

End If
End Sub
End Class

PR



 - ASP.NET

Translate »