1

我正在开发一个asp.net 网站。我有一个 aspx 页面。我想使用一个变量,其值不应在回发期间重置,但是当传递到另一个页面并返回时,它应该被重置。而且我正在 C# 后面的代码中更改这个变量值。所以它应该在我想要的时候改变,它不应该在回发期间被重置,当我导航到另一个页面时它应该被重置。

我试着用

public int
public static int
protected int

但我无法意识到哪个工作正常。

4

2 回答 2

4

通过回发保留数据的能力实际上并不取决于变量范围。选择公共、受保护或私有并不重要。

您正在寻找的技术称为Session StateView State
Session state跨不同页面和view state同一页面内保留数据。实际上还有第三个,即应用程序状态对象,它也在不同的用户会话中全局保存数据。

在最简单的形式中,您将使用如下视图状态:

string myString = "123";
ViewState["MyString"] = myString;

并在 post back 之后,在Page_Load方法中:

myString = ViewState["MyString"].ToString();
于 2012-05-27T18:39:22.463 回答
1

调查

Session["yourvar"] = 123; 

Application["globalvar"] = 456;

msdn 文档在这里

于 2012-05-27T18:37:51.137 回答