首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >事件中的Rebinding失去其控件上的ViewState

事件中的Rebinding失去其控件上的ViewState
EN

Stack Overflow用户
提问于 2013-11-20 20:20:18
回答 1查看 971关注 0票数 1

我的页面中有一个中继器,带有一些预条件,比如复选框列表和列表框,这些条件决定了中继器的数据源带来了什么。单击一个按钮,它将对工作正常的中继器进行数据库化。但是,如果用户决定要在中继器中添加其他内容或删除某些内容,则可以选中/取消选中某些字段,然后再次按下按钮,这将重新绑定中继器并更改显示内容,但是中继器中所有当前控件的视图状态将丢失。

在初始化事件中绑定中继器是不可能的,因为checkboxlist/listbox值的ViewState在页面生命周期的那个点上不可用,为了将这些值作为参数传递到中继器的数据源中,这些值是必需的。

我有什么选择来维持我的中继器控制的状态?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-20 20:24:39

中继器控件绑定完全重新创建中继器模板中的所有子控件。因为新的DataBind结果可能(或不可能)在中继器中包含非常不同的数据。你想在中继器内保持什么样的控制和状态?也许使用序号html控件并通过Request.Form集合对它们进行操作是一种更好的方法?

如果您想在应用新的数据绑定之前从中继器保存数据,最好的位置是一个Page.PreRender事件。在这种情况下,所有页面控件都已经重新创建,视图状态已经恢复。因此,您可以通过Repeater.Items集合进行迭代,并逐行从中继器保存数据。在保存所有数据后,您可以根据当前的筛选值从页面重新绑定中继器控件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20106148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档