You can use ObjectDataSource instead. See also:
http://stackoverflow.com/questions/1735096/using-a-detailsview-without-sqldatasource
Alternatively, you can replace DetailsView with individual controls. This is a little bit more work:
1. You should manually create an input control for each field you want to update, e.g. TextBox1, TextBox2, etc. Add also the buttons for Save and Close.
2. On popup display (before ModalPopup.Show();), you need to load the record and manually set the control values, e.g. TextBox1.Text = row.Text;
3. In Save.Click handler, read the control values, update the DB row and call ModalPopup.Hide();