使存储的whatevers的变量保持值

时间:2015-04-24 19:14:44

标签: c# asp.net webforms

我有一个我在所有方法/函数之外声明的变量:

public partial class page : System.Web.UI.Page
{
  string query;

 protected void btn_1_Click(object sender, EventArgs e)
 {
   query = "hi";
   query = query + "how are you";
 }

 protected void btn_2_Click(object sender, EventArgs e)
 {
   string newquery = query;
 }
}

当我在btn_2_Click中对它进行调试时,它表示查询变量为空。我正在尝试访问btn_1btn_2的查询。

最好的方法是什么?或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

您无法在ASP.Net WebForms中执行此操作。 WebForms与WindowsForms不同。

当您点击页面上的某个按钮时,如果没有保存到可以保留请求的内容(如会话,应用程序,Cookie,Viewstate,数据库),则会触发它的点击事件并且所有先前的信息状态都会丢失等

此链接有许多可能的解决方案: https://msdn.microsoft.com/en-us/magazine/cc300437.aspx

Ps。:不要冒犯被标记为重复的问题。这是非常常见的,并且通过不完全相同的问题,该答案的解决方案或澄清可以帮助您解决这个问题。