复选框列表在回发时不保留其复选标记



中继器控件中的复选框控件&ASP.net c#。每当我选中它的项目,它就会自动取消选中。当页面不回发时,我也在调用此方法,但它不工作&虽然我得到了值,但清除了复选标记。我不想使用这个会话。

如果你在页面加载中重新绑定中继器,那么你将失去设置。所以你只需要在第一次加载

时绑定
(if IsPostBack = false then databind)

因此,如果每次都重新绑定复选框,则会丢失其设置。另一种方法是创建一个数组,或者更好的是创建一个字典对列表——当你检查一个项目时,也根据行索引将该设置保存在字典列表中。然后,您可以在加载或您喜欢的情况下重新绑定,并且在行数据绑定事件中,您可以根据维护的字典对列表设置复选框的值(您必须将该列表保存在viewstate或session中)。

所以,简单地确保只在第一个页面加载时填充+绑定要少得多。如果您在任何时候重新绑定中继器,那么您将失去您的设置。因此,它们将持续存在并在往返(post-backs)中存活下来,但前提是您在第一页加载时绑定一次。

建立一个"列表"并不是那么难。如果您做出了选择,然后在行数据绑定事件检查+设置选项的小列表中的值。但如前所述,避免重新绑定显然更容易。然而,在无法避免重新绑定的情况下,则需要编写自己的代码来持久化选择。

最新更新