In my case this was happening because I was binding to a List of custom objects.
Note A common mistake that a lot of people do is that they perform a databind each and every-time the Page_Load method is called.
For a while now I’m trying to figure out why my method, triggered by the Grid View.
Row Updating event, doesn’t work as all samples say it should do.
As you can see in the image above our Grid View contains five columns.
User ID, First Name and Last Name are template columns and Edit and Delete columns are Command Columns which are added using smart tag option (You can view the smart tag if you right click on the Grid View control).
This control may be located at the top of the page and have its property value is remembered across postbacks.I have a Grid View control and use old style manual binding with a Data Source property and invoke the Data Bind() method. If you don't use one of the Data Source controls, you are required to handle the Row Updating event. For example a Sql Data Source, which is automatically added to your Web Form if you drag-n-drop your way around Visual Studio 2005.The problem is, I’d very much like to do so, if ASP. But I can’t set a Data Source property or anything on the Sql Data Source!!! I probably have to read the cells on the Grid View of the selected row, find the controls, get the values from those and insert those into my Data Set.