【发布时间】:2021-03-10 17:27:06
【问题描述】:
中继器控件和 ASP.net C# 中的复选框列表控件。每当我检查其项目时,它都会自动取消选中。当页面也不是回发但它不工作时,我也会调用此方法,尽管我得到了值但清除了复选标记,但它被取消选中。我不想使用会话。
【问题讨论】:
标签: javascript c# asp.net
中继器控件和 ASP.net C# 中的复选框列表控件。每当我检查其项目时,它都会自动取消选中。当页面也不是回发但它不工作时,我也会调用此方法,尽管我得到了值但清除了复选标记,但它被取消选中。我不想使用会话。
【问题讨论】:
标签: javascript c# asp.net
如果您在页面加载中重新绑定转发器,那么您将丢失设置。所以你只需要在第一次加载时绑定
(if IsPostBack = false then databind)
因此,如果您每次都重新绑定复选框,那么您会丢失它们的设置。另一种方法是创建一个数组或更好的字典对列表 - 当您检查一个项目时,还根据行索引将该设置保存在字典列表中。然后,您可以在加载时或根据需要重新绑定,并在行数据绑定事件中,根据您维护的字典对列表设置复选框的值(您必须将该列表保存在视图状态或会话中)。
因此,只需确保您只在第一页加载时填充 + 绑定,工作量就会少得多。如果您在任何时候重新绑定中继器,那么您将丢失您的设置。因此,他们将坚持广告在往返(回发)中存活,但前提是您在第一页加载时绑定一次。
建立一个你做出选择的“列表”并不难,然后在行数据绑定事件检查+从那个小选择列表中设置值。但如前所述,避免重新绑定显然更容易。但是,在无法避免重新绑定的情况下,您需要编写自己的代码来持久化选择。
【讨论】: