Maybe I'm wrong, since I haven't used the GridView for a while, but shouldn't you be accessing the NewValues
collection of e
?
That's the beauty of the GridView: it keeps track of old vs. new values, and conveniently makes them available to you without you having to fish around to find them.
string id = (string) e.NewValues["whatever"];