E' solo che sei ancora troppo nella modalità ASP e non sai usare bene ancora i controlli server
Ad Esempio ogni colonna potrebbe essere, anziché il classico BoundField in cui mettere semplice testo, un TemplateField
Codice PHP:
<asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="LinkButton1" CommandName="Elimina" OnClientClick='<%# string.format("Javascript:deleteConfirm(escape(""{0}""),event);",Eval("Titolo")) %>' runat="server" CommandArgument='<%# Eval("Key") %>' >Elimina</asp:LinkButton></ItemTemplate> </asp:TemplateField>
Il template field è il controllo più generico e flessibile, esistono cmq ImageField e HyperlinkField per i due casi da te citati
D'altro canto se trovi più semplice fare tutto a mano ( e la semplicità sta nel fatto che non devi imparare le potenzialità della gridview ) devi coerentemente farti a mano anche la paginazione