Home All Groups Group Topic Archive Search About

Responding to changes to controls in a Repeater

Author
23 Jun 2006 5:15 PM
Kevin Donn
I want to mimic the Remove checkbox behavior of the Netflix Queue page.  It
looks like pretty traditional, full-page post and render stuff. I've done
things like it using frameworks other than ASP.NET, but I haven't found a
way to leverage the architecture of ASP.NET to do it.

Here's the nutshell of what Netflix does:  your queue page is a listing of
each movie you've requested.  Each item has a Remove checkbox on the line.
When you click the box no communication with the server happens, Ajax or
otherwise.  You can click all the boxes you want but nothing happens until
you click "Update Your Queue" which causes a traditional post and re-render
of the page to happen, and your checked movies will be gone.

I don't want to do any communication until the user posts the page.  What I
*do* want is to be able to spot the boxes the user has checked when the page
gets posted.  The DataGrid and DataList both just don't support this type of
behavior, so Repeater seems like the only choice. But Repeater does not
support instantiating ASP.NET controls (or anything with runat="server") in
the ItemTemplate.  You can, however, have checkboxes in the ItemTemplate, so
the question becomes, how do you spot changes to these checkboxes when the
page is posted and map them back to your dataset?

Thanks,
Kevin Donn

Author
30 Jun 2006 8:49 AM
Raven
hello kevin

the DataList and the DataGrid can be set up to do just what you want

on these pages are working examples of specifying multiple items to
remove in a list by using checkboxes ( not exactly what you need but
something similar )

http://authors.aspalliance.com/aspxtreme/webforms/controls/allowinguserstodeleteitemsindatalist.aspx

http://authors.aspalliance.com/aspxtreme/webforms/controls/allowinguserstodeleteitemsindatagrid.aspx
Author
26 Jul 2006 5:54 PM
jerode@gmail.com
Kevin:
I do a similar thing using XML and it works well for me. I use a gridview for this but a datagrid works just as well. I build an XML document with a list of all the items to remove. Then in SQL Server, I delete all the selected items from the table and rebind the gridview.

This uses one server trip for the delete and one for the rebinding gridview.
Email me and I can send you the code.

Sincerely,
Jerode