Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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# 如何在回发之间保持全局变量(即结构变量)的值?_C#_Asp.net_Ajax_Postback - Fatal编程技术网

C# 如何在回发之间保持全局变量(即结构变量)的值?

C# 如何在回发之间保持全局变量(即结构变量)的值?,c#,asp.net,ajax,postback,C#,Asp.net,Ajax,Postback,我对这一点还不熟悉,已经很幸运地找到了这一点:( 假设我已经全局定义了一个结构数组,并在Ajax ModalPopupXtender上用数据填充了该数组。然后,我有一个ddl_SelectedIndexChanged事件,该事件执行回发,并且似乎回收了我的数组 是否有一种方法可以触发ddl_SelectedIndexChanged事件来执行一些代码而不进行回发?或者有一种简单的方法可以使struct类型的数组保留其值 (顺便说一句,我正在创建一个网站) 提前感谢…您可以将阵列存储在视图状态中,如

我对这一点还不熟悉,已经很幸运地找到了这一点:(

假设我已经全局定义了一个结构数组,并在Ajax ModalPopupXtender上用数据填充了该数组。然后,我有一个ddl_SelectedIndexChanged事件,该事件执行回发,并且似乎回收了我的数组

是否有一种方法可以触发ddl_SelectedIndexChanged事件来执行一些代码而不进行回发?或者有一种简单的方法可以使struct类型的数组保留其值

(顺便说一句,我正在创建一个网站)


提前感谢…

您可以将阵列存储在
视图状态中,如下所示:

ViewState["arrayName"] = array;
其中
array
是数组的名称。然后可以使用
ViewState[“arrayName”]
轻松检索该数组。如果数组是字符串数组,则可以轻松检索该数组,如下所示:

string[] arr = ViewState["arrayName"] as string[];

有关
ViewState
的更多文档,请查看。

您可以将数组存储在
ViewState
中,如下所示:

ViewState["arrayName"] = array;
其中
array
是数组的名称。然后可以使用
ViewState[“arrayName”]
轻松检索该数组。如果数组是字符串数组,则可以轻松检索该数组,如下所示:

string[] arr = ViewState["arrayName"] as string[];

有关
ViewState
的更多文档,请查看。

您可以将数组存储在
ViewState
中,如下所示:

ViewState["arrayName"] = array;
其中
array
是数组的名称。然后可以使用
ViewState[“arrayName”]
轻松检索该数组。如果数组是字符串数组,则可以轻松检索该数组,如下所示:

string[] arr = ViewState["arrayName"] as string[];

有关
ViewState
的更多文档,请查看。

您可以将数组存储在
ViewState
中,如下所示:

ViewState["arrayName"] = array;
其中
array
是数组的名称。然后可以使用
ViewState[“arrayName”]
轻松检索该数组。如果数组是字符串数组,则可以轻松检索该数组,如下所示:

string[] arr = ViewState["arrayName"] as string[];
有关查看状态的进一步文档,请查看。

要存储在会话中

Session["ArrayName"] = ArrayVariable;
..将其返回到数组类型中

var array = (ArrayType)Session["ArrayName"];
使用viewState

ViewState.Add("ArrayName", ArrayVariable);
var array= (ArrayType)ViewState["ArrayName"];

如果这仅用于您所在的页面,则应使用ViewState。如果您需要它在整个站点上可用,则您的选项有会话缓存数据库。此外,请确保首先检查对象是否可用,如中所示

if (Session["ArrayName"] != null)
   var array = (ArrayType)Session["ArrayName"];
..否则您将成为对象未设置引用错误的受害者

有关存储在会话中的信息,请参阅本文。

Session["ArrayName"] = ArrayVariable;
..将其返回到数组类型中

var array = (ArrayType)Session["ArrayName"];
使用viewState

ViewState.Add("ArrayName", ArrayVariable);
var array= (ArrayType)ViewState["ArrayName"];

如果这仅用于您所在的页面,则应使用ViewState。如果您需要它在整个站点上可用,则您的选项有会话缓存数据库。此外,请确保首先检查对象是否可用,如中所示

if (Session["ArrayName"] != null)
   var array = (ArrayType)Session["ArrayName"];
..否则您将成为对象未设置引用错误的受害者

有关存储在会话中的信息,请参阅本文。

Session["ArrayName"] = ArrayVariable;
..将其返回到数组类型中

var array = (ArrayType)Session["ArrayName"];
使用viewState

ViewState.Add("ArrayName", ArrayVariable);
var array= (ArrayType)ViewState["ArrayName"];

如果这仅用于您所在的页面,则应使用ViewState。如果您需要它在整个站点上可用,则您的选项有会话缓存数据库。此外,请确保首先检查对象是否可用,如中所示

if (Session["ArrayName"] != null)
   var array = (ArrayType)Session["ArrayName"];
..否则您将成为对象未设置引用错误的受害者

有关存储在会话中的信息,请参阅本文。

Session["ArrayName"] = ArrayVariable;
..将其返回到数组类型中

var array = (ArrayType)Session["ArrayName"];
使用viewState

ViewState.Add("ArrayName", ArrayVariable);
var array= (ArrayType)ViewState["ArrayName"];

如果这仅用于您所在的页面,则应使用ViewState。如果您需要它在整个站点上可用,则您的选项有会话缓存数据库。此外,请确保首先检查对象是否可用,如中所示

if (Session["ArrayName"] != null)
   var array = (ArrayType)Session["ArrayName"];
..否则您将成为对象未设置引用错误的受害者


有关详细信息,请参阅本文。

如果是页面级别,请转到viewstate

ViewState["arrayName"] = array;
若它是到不同的页面,那个么它就是通过会话

Session["ArrayName"] = ArrayVariable;

如果是页面级别,则转到viewstate

ViewState["arrayName"] = array;
若它是到不同的页面,那个么它就是通过会话

Session["ArrayName"] = ArrayVariable;

如果是页面级别,则转到viewstate

ViewState["arrayName"] = array;
若它是到不同的页面,那个么它就是通过会话

Session["ArrayName"] = ArrayVariable;

如果是页面级别,则转到viewstate

ViewState["arrayName"] = array;
若它是到不同的页面,那个么它就是通过会话

Session["ArrayName"] = ArrayVariable;

如前所述,我们已经使用ViewState。在页面的类中创建一个属性并读/写该属性。显然,将列表更改为数组的任何类型

public List<string> SomeArray
{
    get
    {
        if (ViewState["SomeArray"] != null)
        {
            return (List<string>)ViewState["SomeArray"];
        }
        return null;
    }
    set { ViewState["SomeArray"] = value; }
 }
公共列表数组
{
得到
{
if(ViewState[“SomeArray”!=null)
{
返回(列表)视图状态[“SomeArray”];
}
返回null;
}
设置{ViewState[“SomeArray”]=value;}
}
实际上,当您将值绑定到下拉列表时,下拉列表应将数据保存在viewstate中,除非在页面加载时清除了逻辑。发布页面加载事件可能会确定您的真正问题

更新
尽管再次阅读了您的问题,我可能会错,但如前所述,post code!

已经使用了ViewState。在页面的类中创建一个属性并对该属性进行读/写。显然,将列表更改为数组的任何类型

public List<string> SomeArray
{
    get
    {
        if (ViewState["SomeArray"] != null)
        {
            return (List<string>)ViewState["SomeArray"];
        }
        return null;
    }
    set { ViewState["SomeArray"] = value; }
 }
公共列表数组
{
得到
{
if(ViewState[“SomeArray”!=null)
{
返回(列表)视图状态[“SomeArray”];
}
返回null;
}
设置{ViewState[“SomeArray”]=value;}
}
实际上,当您将值绑定到下拉列表时,下拉列表应将数据保存在viewstate中,除非在页面加载时清除了逻辑。发布页面加载事件可能会确定您的真正问题

更新 虽然我又读了你的问题,但我还是同意了