我正在开发一个asp.net 网站。我有一个 aspx 页面。我想使用一个变量,其值不应在回发期间重置,但是当传递到另一个页面并返回时,它应该被重置。而且我正在 C# 后面的代码中更改这个变量值。所以它应该在我想要的时候改变,它不应该在回发期间被重置,当我导航到另一个页面时它应该被重置。
我试着用
public int
public static int
protected int
但我无法意识到哪个工作正常。
通过回发保留数据的能力实际上并不取决于变量范围。选择公共、受保护或私有并不重要。
您正在寻找的技术称为Session State或View State。
Session state
跨不同页面和view state
同一页面内保留数据。实际上还有第三个,即应用程序状态对象,它也在不同的用户会话中全局保存数据。
在最简单的形式中,您将使用如下视图状态:
string myString = "123";
ViewState["MyString"] = myString;
并在 post back 之后,在Page_Load
方法中:
myString = ViewState["MyString"].ToString();