After searching long and hard I found a great article that solved my issue.
Take a look at the page load if you are binding on post back then the values get updated before you are able to access them.
I know its very annoying and hard to get the data out of the data controls (gridview in this case), but there are other things you can do to make it easier.
The reason is we don't fill the values unless your are bound to a datasource control.
That is, get the value from the dropdownlist, and set it in the event.
Grid View has a method that is unfortunately protected called Extract Row Values.
For those who do not know on how to generate Events in Grid View you can follow these steps below: I have a project that I coppied the above code into.
event is raised when a row's Update button is clicked, but before the Grid View control updates the row.
I believe that databinding on every postback is the cause but that's not something that I can change right now, same goes with the autogeneratedcolumns setting. I'm not sure if I know what you mean about 2 way binding. If you meanam I using Bind instead of Eval in my HTML, then yes. And the result of your code is no different than my version or what I was doing before, which was just using the findcontrol method, and that just returns what was in the grid when it was first binded to the database on page load. Yes ok i think i know what you are probably doing wrong.
I'd like to know if there are any other ways to retrieve the new values? I have been using the web site successfully for just over a year, and I am presently using a Select button in the row to launch a detailsview, and I edit the database that way. Net a year and a half ago, and VB programmer forever before that, but I feel pretty confident in this large and powerful website I have created, but the users don't like the details view have expressed a desire to edit on the fly in the gridview. My user base has a hold of management's ear, and my management wants to dump ASP. This could be the straw that broke the camel's back - a person's job hangs in the balance - MINE!! If you are databinding in page_load then you need to only do it if(!
Nor does it represent the opinion of my dog, because I don’t have one. I have a project that I coppied the above code into. Data Keys[Row Index]["Customer ID"]in the Update event it would be something like:int Customer ID = Convert. Format Exception: Input string was not in a correct format.