我有一个Repeater控件,绑定到PagedDataSource
,该数据源是我自己制作的自定义控件列表。这些自定义控件包含几个文本框。
我有一个保存按钮,当它被点击时我想将所有自定义控件中的数据保存到数据库,无论它们在哪个页面上 - 但目前我只能访问显示在其上的自定义控件当前页面。
我试图在btnSave_Click
事件中创建一个等于当前数据源的新临时数据源,但不是PagedDataSource
。这样我的转发器包含所有自定义控件 - 但是 - 文本框字段中所做的更改不再可用。然后,我尝试在自定义控件中的文本框上添加JavaScript onchange事件,以便每当文本更改时都会触发回发,并且将更新用户控件代码隐藏中的属性。这也没有用。
有什么想法吗?
答案 0 :(得分:0)
将每个页面索引更改事件(或上一个/下一个按钮)的更改值保存到持久性对象(列表)
答案 1 :(得分:0)
您的非PagedDataSource为空的原因是因为文本框中的更改存在于客户端而不是服务器上 - 您需要将控件中的值与转发器中的空插槽同步。
答案 2 :(得分:-1)
Repeater没有内置分页(如GridView或其他复杂控件),因此它不提供诸如PageIndexChanging事件之类的事件。因此,我假设您有自己的页面导航实现。因此,您应该调用您在该实现函数中提供的函数。
答案 3 :(得分:-1)
尝试使用通用列表和跳过并采用该方法