我应该使用什么类型的变量

本文关键字:变量 类型 什么 我应该 | 更新日期: 2023-09-27 18:35:39

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

我尝试使用

public int
public static int
protected int

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

我应该使用什么类型的变量

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

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

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

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

回发后,在Page_Load方法中:

myString = ViewState["MyString"].ToString();

查看

Session["yourvar"] = 123; 

Application["globalvar"] = 456;

此处的 MSDN 文档