gpt4 book ai didi

c# - 无法清除 ASP :Repeater 的项目

转载 作者:行者123 更新时间:2023-11-30 14:13:00 24 4
gpt4 key购买 nike

这就是我启动 ASP:Repeater 的方式:

var taskItemsList = new List<Task>(); 

taskItemsList = GenerateActiveList(); //generates 6 items
_taskItemsListSorted = from Task in taskItemsList
orderby Task.AssignedTo ascending , Task.DueDateTicks ascending
select Task;
taskRepeater.DataSource = _taskItemsListSorted;
taskRepeater.DataBind();

这就是我尝试让同一个中继器显示不同列表的方法(当用户单击按钮时运行此代码):

taskRepeater.DataSource = null; taskRepeater.DataBind();

var taskItemsList = new List<Task>();

taskItemsList = GenerateInactiveList(); //generates 5 items
_taskItemsListSorted = from Task in taskItemsList
orderby Task.AssignedTo ascending , Task.DueDateTicks ascending
select Task;
taskRepeater.DataSource = _taskItemsListSorted;
taskRepeater.DataBind();

(请注意,在第二个代码部分中,一个新函数用于生成不同的列表。)

问题是 Repeater 控件似乎仍然包含第一个代码部分中的项目。

第 2 部分中的最后一个操作 taskRepeater.DataBind(); 使 ItemDataBound 函数触发 11 次,这表明最初生成的列表项仍以某种方式包含在转发器中。

我哪里出错了?

最佳答案

您遇到的唯一问题是 OnClick 事件正在启动,执行您想要执行的操作,但之后页面 OnLoad 正在启动并用原始内容替换内容。要解决此问题,只需在 OnLoad 页面上执行此操作即可:

if (!IsPostBack)
// Bind the repeater

关于c# - 无法清除 ASP :Repeater 的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15567682/

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