有时候我们需要将一些变量的值保留在aspx页面上,当页面回传的时候我们可以获得该变量值并加以应用。
如下图,页面上分别放置有四个控件:textbox1、button1、button2、lable1
textbox1用于用户输入时设置全局变量的值,lable1用于显示该全局变量的值:
现在点击Button2,在Lable1中显示变量
在textbox1中录入变量值,点button1设置好变量,点击button2输出
OK!实在是简单.主要利用到了ViewState实例,很多程序员习惯利用会话级变量Session,但对于单个的Page页面来说,用ViewState还是比较实在的。
代码如下:
1public partial class _Default : System.Web.UI.Page
2{
3 protected void Page_Load(object sender, EventArgs e)
4 {
5 }
6 /// <summary>
7 /// property of page
8 /// </summary>
9 public string Name
10 {
11 get
12 {
13 if (ViewState["name"] == null)
14 {
15 return "Zhang Liang";
16 }
17 else
18 {
19 return ViewState["name"].ToString();
20 }
21 }
22 set
23 {
24 ViewState["name"] = value;
25 }
26 }
27 protected void Button1_Click(object sender, EventArgs e)
28 {
29 Name = TextBox1.Text;
30 }
31 protected void Button2_Click(object sender, EventArgs e)
32 {
33 Label1.Text = "变量值为:" + Name;
34 }
35}
2{
3 protected void Page_Load(object sender, EventArgs e)
4 {
5 }
6 /// <summary>
7 /// property of page
8 /// </summary>
9 public string Name
10 {
11 get
12 {
13 if (ViewState["name"] == null)
14 {
15 return "Zhang Liang";
16 }
17 else
18 {
19 return ViewState["name"].ToString();
20 }
21 }
22 set
23 {
24 ViewState["name"] = value;
25 }
26 }
27 protected void Button1_Click(object sender, EventArgs e)
28 {
29 Name = TextBox1.Text;
30 }
31 protected void Button2_Click(object sender, EventArgs e)
32 {
33 Label1.Text = "变量值为:" + Name;
34 }
35}