在asp.net中,有一个类,定义 public static a = "123";在页面webform1.aspx中,Response.Write..输出a,为"123";
然后跳转到另一个页面webform2.aspx,设置 a 为 "abc";
然后跳转到webform1.aspx,输出a,为"abc"了!为什么? 不是asp.net不保存状态的吗?!而且,更奇怪的是,关闭这些页面,再次打开 webform1.aspx,居然还是输出 "abc"! 直到系统重新启动。
然后跳转到另一个页面webform2.aspx,设置 a 为 "abc";
然后跳转到webform1.aspx,输出a,为"abc"了!为什么? 不是asp.net不保存状态的吗?!而且,更奇怪的是,关闭这些页面,再次打开 webform1.aspx,居然还是输出 "abc"! 直到系统重新启动。
你应该用Session["yourData"] = ...
然后跳转到另一个页面webform2.aspx,设置 a 为 "abc";、然后跳转到webform1.aspx,输出a,预想还是输出 "123". 因为asp.net不保存状态,所以还是输出a的初始值 123.
**********************************但是webform1.aspx输出的是 abc. 为什么?
你给变态a加上关键字:const
这样a的值就不会被改变,但是
你在页面webform2.aspx设置 a 为 "abc"就不行了。
要得到初始直 必须重启ASP。NET
要得到初始直 必须重启ASP。NET------------------------------越来越同意!!
刚才再次测试了一下!
我结束aspnet_wp.exe进程,然后webform1.aspx就输出初始值,不然总是后来设置过的值。