Feb 24, 2012 12:33 PM|superguppie|LINK
It is better not to bind ID. Just SqlDataSource2 will do. ASP.NET only requires the ID to be unique within the NamingContainer. (In this case, the ListViewDataItem.)
Also, if you use HiddenField, like Qin Dian Tang suggests, you can use ControlParameter instead of Parameter. That will pick up the value of the HiddenField automatically, making it work without code-behind.