3

我有一个Repeater 控件,绑定到a PagedDataSource,该数据源是我制作的自定义控件列表。这些自定义控件包含几个文本框。

我有一个保存按钮,当单击它时,我想将所有自定义控件中的数据保存到数据库中,无论它们位于哪个页面上 - 但目前我只能访问当前页面上显示的自定义控件。

我试图做的是,在这种情况btnSave_Click下,创建一个与当前数据源相等的新临时数据源,除了它不是PagedDataSource. 这样我的转发器包含所有自定义控件 - 但是 - 在文本框字段中所做的更改不再可用。然后,我尝试在自定义控件中的文本框上添加 JavaScript onchange 事件,以便在更改文本时触发回发,并更新用户控件代码隐藏中的属性。这也不起作用。

有任何想法吗?

4

4 回答 4

0

您的非 PagedDataSource 为空的原因是您的文本框中的更改存在于客户端而不是服务器上 - 您需要将控件中的值与中继器中的空槽同步。

于 2013-10-31T11:21:18.273 回答
0

将每个页面索引更改事件(或上一个/下一个按钮)上的更改值保存到您的持久性对象(列表)中

http://www.dotnetfunda.com/articles/show/1611/how-to-select-multiple-records-from-multiple-pages-of-the-gridview-and

于 2013-10-29T18:54:54.697 回答
-1

Repeater 没有内置的分页(如 GridView 或其他复杂控件),因此它不提供诸如 PageIndexChanging 事件之类的事件。因此,我假设您有自己的页面导航实现。因此,您应该调用您在该已实现函数中提供的函数。

于 2013-10-30T06:16:35.090 回答
-1

尝试使用通用 List 和 Skip 和 Take 方法

于 2013-10-30T09:26:37.987 回答