gpt4 book ai didi

c# - 在不同的事件中访问同一个对象

转载 作者:行者123 更新时间:2023-11-30 21:03:30 25 4
gpt4 key购买 nike

我想要一个在两种不同方法之间共享的对象数组。

我网页上 button1 的 onclick 调用 method1,它填充 objectArray 所需的值。我需要 button2 的 onclick 方法能够使用与 method1 正在处理的相同数据访问相同的 objectArray。

using myWebReference;
{
public partial class _Default : System.Web.UI.Page
{
ObjectArray[] myObjects = new ObjectArray[100];

public void Page_Load(object sender, EventArgs e)
{
//I have nothing in here at the moment
}
public void method1(object sender, EventArgs e)
{
//myObjects[]'s values are calculated and assigned here.
}
public void method2(object sender, EventArgs e)
{
String key = myObjects[0].value;
//when I try to get data within myObjects here, myObjects does exist,
//but it is empty and I get a null reference error when I try to use its values.
}
}

最佳答案

这不是语言的问题。它绑定(bind)到网络表单。在每个 Web 请求完成后,Web 服务器上的所有状态都会被销毁。

所以: 在 Web 请求 1 上,您调用 method1 并填充您的数组。

web 请求 1 完成的 html 返回给浏览器,服务器上的数组被销毁。

在 web 请求 2 方法 2 被调用,但数组仅由行初始化

ObjectArray[] myObjects = new ObjectArray[100]; 

所以里面没有其他数据。

如果您希望能够达到“先前”的 myObjects 值,您应该将其保存在某处,例如,如 Abe 所建议的那样,在 SessionState 中、在数据库中、在 View 状态中、在 cookie 中......

关于c# - 在不同的事件中访问同一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com