No caro Pietro, per funzionare nel modo tradizionale ha bisogno della viewstate.
Se ti può servire, c'è il modo di togliere la maggior parte della viewstate dal controllo mantenendo attive le funzionalità che lo rendono comodo(paginazione,ordinamento...)
L'ho estrapolato dal mio file di controlli, ho tolto quello che non ti serviva, ma non l'ho provato.
codice:
Public Sub OnItemCreated(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
Dim itemType As ListItemType = e.Item.ItemType
Dim i As Integer
i = 0
If itemType = ListItemType.Item Or ListItemType.AlternatingItem Then
For i = 0 To e.Item.Controls.Count - 1
Dim pager As TableCell = CType(e.Item.Controls(i), TableCell)
Dim ctls As ControlCollection = pager.Controls
If Not itemType = ListItemType.EditItem Then
pager.EnableViewState = False
End If
Next
End If
End Sub
Così togli tutta la viewstate del contenuto delle celle, però in modalità edit la mantengo così se devo salvare funziona.
P.S.
Io ricarico sempre la griglia ad ogni click.
Ciao
Legnetto