Tempo fa avevo postato sul newsgroup microsoft.public.it.dotnet.asp una domanda relativa ad uno strano comportamento del metodo GridView.Sort, se eseguito nella routine Page_Load di una pagina ASP .NET. Non ho mai ricevuto risposta, ma sono riuscito comunque ad aggirare il problema. Ad ogni modo, il dubbio mi è rimasto, quindi voglio fare un ultimo tentativo, esponendo il problema sul blog di UGIdotNET.
La situazione è questa: Ho una GridView collegata ad un ObjectDataSource. Nella GridView ho specificato la proprietà DataKeyNames. Se richiamo il metodo GridView.Sort nell'evento Load della pagina, la collezione GridView.DataKeys viene "svuotata", nel senso che, provando a leggerla da codice, essa ha 0 elementi. Al contrario, se non eseguo il sort nella Load, la proprietà è popolata correttamente e rimane impostata nel modo giusto anche se cambio l'ordinamento della griglia utilizzando le caption delle varie colonne.
Qualcuno è in grado di spiegare questo comportamento? Sono io che sto sbagliando qualcosa?