Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 变量';s值未保留在类的方法中_C#_Asp.net - Fatal编程技术网

C# 变量';s值未保留在类的方法中

C# 变量';s值未保留在类的方法中,c#,asp.net,C#,Asp.net,在ASP>Net中使用C#,我声明了一个变量作为类的成员,如下所示: public class sales: System.Web.UI.Page { string type=null; } 我在UI中有一个图像按钮,我为它定义了一个名为 protected void ImageButton2_Click(object sender, ImageClickEventArgs e) 在这个方法中,分配给变量“type”(由类的任何其他方法)的任何值都不会被保留,并且只检索值null,尽管我在类

在ASP>Net中使用C#,我声明了一个变量作为类的成员,如下所示:

public class sales: System.Web.UI.Page
{
string type=null;
}
我在UI中有一个图像按钮,我为它定义了一个名为

protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
在这个方法中,分配给变量“type”(由类的任何其他方法)的任何值都不会被保留,并且只检索值null,尽管我在类中的某个地方为“type”分配了一些值


我无法访问指定值的问题是什么???

您必须在回发之间保留数据

我建议您阅读以下文章:


您必须在回发之间保留数据

我建议您阅读以下文章:


这可能是渲染管道的结果。请记住,即使您的事件被触发,页面和所有变量都将使用其默认值重新创建。将其创建为至少具有备份viewstate存储的属性

public String Type 
{
    get { return ViewState["Type"].ToString(); } 
    set { ViewState["Type"] = value; } 
}

这可能是渲染管道的结果。请记住,即使您的事件被触发,页面和所有变量都将使用其默认值重新创建。将其创建为至少具有备份viewstate存储的属性

public String Type 
{
    get { return ViewState["Type"].ToString(); } 
    set { ViewState["Type"] = value; } 
}

每次对页面执行请求时,变量都会重新初始化(无论是否为回发)

尝试将变量放在属性而不是字段中(正如您正在做的那样),并在第一次加载页面时初始化属性,前提是它不是回发

你应该这样做:

  //on the On_Load page's event
  if (!IsPostback)
    Type = null;    

  private string Type { get; set; }

每次对页面执行请求时,变量都会重新初始化(无论是否为回发)

尝试将变量放在属性而不是字段中(正如您正在做的那样),并在第一次加载页面时初始化属性,前提是它不是回发

你应该这样做:

  //on the On_Load page's event
  if (!IsPostback)
    Type = null;    

  private string Type { get; set; }

如果您在对象中指定值,然后使用按钮执行回发,则该值将消失,除非您将该对象实例存储在会话、viewstate或其他内容中

string sType = "something";
Session["YourSessionTagHere"] = sType;
一旦发生回发,您就可以从onclick事件中取出对象并访问值

string sType = (string)(Session["YourSessionTagHere"]);
听起来好像你没有访问同一个对象,而你的对象丢失了,因为每次回发后,你的字符串都是新的


您还可以通过在get and set(获取和设置)中设置一个为您执行会话内容的属性,使其更简洁。

如果您在对象中指定值,然后使用按钮进行回发,则该值将消失,除非您将对象的实例存储在会话、viewstate或其他内容中

string sType = "something";
Session["YourSessionTagHere"] = sType;
一旦发生回发,您就可以从onclick事件中取出对象并访问值

string sType = (string)(Session["YourSessionTagHere"]);
听起来好像你没有访问同一个对象,而你的对象丢失了,因为每次回发后,你的字符串都是新的

您还可以通过在get和set中设置一个属性来为您完成会话内容,从而使这一过程更简洁