【问题标题】:Make variable keep value of whatevers stored [duplicate]使变量保持存储的任何内容的值[重复]
【发布时间】:2015-07-03 12:59:10
【问题描述】:

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

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_2 中的btn_1 的查询。

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

【问题讨论】:

  • @Cameron 我无意复制任何内容。顺便说一句,您的链接中没有一个描述我的情况。
  • 复制不是什么大问题。这些只是与您的情况相似的类似问题和答案。在我添加的这两个问题中,他们的解决方案将解决您的问题。
  • @Cameron 这就是所有像你这样的人都会出错的地方。你说这能解决我的问题对吧?那么,如果有人不知道解决方案做了什么,会发生什么?或者如何将该解决方案实施到他们正在尝试做的事情中?你们中的一半人看到它的方式是“哦,这是同一个问题”标记重复,但没有人想到为什么这个家伙首先要问这个问题
  • @Cameron BTW:只是想让您知道,因为您喜欢评论“重复”并声称它们都是解决方案。好吧,我无法让它工作。
  • Cameron 的第二个链接解释了这个问题:您需要了解 ASP.NET 页面生命周期的工作原理。

标签: c# asp.net webforms


【解决方案1】:

您不能在 ASP.Net WebForms 中这样做。 WebForms 不像 WindowsForms。

当您单击页面上的按钮时,它的单击事件会被触发,如果未将所有先前的信息状态保存到可以持久请求的东西,例如会话、应用程序、Cookie、视图状态、数据库等,则会丢失所有先前的信息状态。

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

Ps.:不要因为问题被标记为重复而感到生气。这很常见,尽管提出的问题并不完全相同,但从这些答案中得到的解决方案或澄清可以帮助您解决这个问题。

【讨论】:

    猜你喜欢
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多