gpt4 book ai didi

c# - 在回发之间维护通用列表

转载 作者:太空狗 更新时间:2023-10-29 22:20:44 24 4
gpt4 key购买 nike

这是我的代码隐藏内容:

List<Event> events = new List<Event>();

protected void Page_Load(object sender, EventArgs e)
{

}

protected void AddEvent_Click(object sender, EventArgs e)
{
Event ev = new Event();

ev.Name = txtName.Text;

events.Add(ev);
}

我想在每次单击“添加”按钮时向列表中添加一个项目,但每次回发后都会重置列表。如何在回发之间将数据保存在列表中?

最佳答案

我经常使用这样的技术,但请记住这会导致您的 View 状态(呈现给浏览器)变得相当大:

public List<Event> Events 
{
get { return (List<Event>)ViewState["EventsList"]; }
set { ViewState["EventsList"] = value; }
}

然后当你想使用列表时,你会做这样的事情:

public void AddToList()
{
List<Event> events = Events; // Get it out of the viewstate
... Add/Remove items here ...
Events = events; // Add the updated list back into the viewstate
}

另请注意,您的 Event 类需要是可序列化的,但这通常与向类添加 [Serializable] 属性一样简单(除非它是一个非常复杂的类)。

关于c# - 在回发之间维护通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710277/

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