Salve a tutti,
Sto facendo dei test in asp.net e sto cercando di creare una semplice applicazione che mi permetta di modificare i record di una gridview in una pagina differente da quella della lista dei record.
Nella pagina di default ho una gridview che mi mostra una lista di persone con vari dati, alla fine dei campi c'è un link "modifica" che reindirizza alla pagina di dettaglio passando un parametro nell'url.
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink Text="Edit"
NavigateUrl='<%# "~/Dettaglio.aspx?cd=" + Eval("CdAgenti") %>'
runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
nella pagina di dettaglio recupero il valore "cd" per eseguire la query nel controllo apposito:
<asp:SqlDataSource ...
SelectCommand="SELECT * FROM [Agenti] WHERE ([CdAgenti] = @CdAgenti)" ...
<SelectParameters>
<asp:QueryStringParameter DefaultValue=""
Name="CdAgenti"
QueryStringField="cd"
Type="String" />
</SelectParameters>
Mi viene così proposta una nuova gridview con i dati del record selezionato,questa contiene però un bottone "edit" di default:
<Columns>
<asp:BoundField DataField="CdAgenti" HeaderText="CdAgenti" ReadOnly="True" SortExpression="CdAgenti" />
<asp:BoundField DataField="Descrizion" HeaderText="Descrizion" SortExpression="Descrizion" />
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
<asp:CommandField ShowEditButton="True"/>
</Columns>
Ciò che vorrei ottenere è l'update dei campi di questo record direttamente da quest'ultima schermata utilizzando il controllo di default.
Ho provato inserendo una stringa di update nel sqldatasource in questo modo:
<asp:SqlDataSource ...
UpdateCommand="UPDATE [Agenti] SET descrizion = @Descrizion,
Email = @Email
WHERE [CdAgenti] = @cdagenti"> ...
<UpdateParameters>
<asp:QueryStringParameter Name="cdagenti" QueryStringField="cd" />
<asp:FormParameter DefaultValue="" FormField="Descrizion" Name="Descrizion" />
<asp:FormParameter DefaultValue="" FormField="Email" Name="Email" />
</UpdateParameters>
</asp:SqlDataSource>
Ma non riesco a recuperare i valori dalla gridview.
C'è un modo per realizzare ciò che sto cercando di fare?