66 messaggi dal 01 maggio 2001
Sto provando a ricavare gli elementi da DetailsViewUpdateEventArgs ma stranamente è vuoto. L'evento viene lanciato quando provo a salvare le modifiche da un controllo DetailsView. Posto il codice :


<!-- La griglia -->

<asp:PlaceHolder ID="videata_modifica" runat="server" visible="false">
<h2>Modifica news</h2>
<asp:DetailsView id="pannelloModifica" runat="server" AutoGenerateRows="false" 
OnItemUpdating="salvaModifiche"
>
<fields>
<asp:BoundField DataField="ID" HeaderText="ID" readOnly="true"><headerstyle ></asp:boundfield>
<asp:TemplateField HeaderText="Titolo">
<headerstyle CssClass="tblHeader" />
<EditItemTemplate>
<asp:TextBox id="m_titolo" ValidationGroup="modifica" Text='<%#Eval("Titolo")%>' columns="50" MaxLength="75" runat="server" />
<asp:RequiredFieldValidator ValidationGroup="modifica" Text=" *" runat="server" Display="Dynamic"
ControlToValidate="m_titolo" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Contenuto">
<headerstyle CssClass="tblHeader" />
<EditItemTemplate>
<asp:TextBox TextMode="MultiLine" rows="10" columns="60" id="m_contenuto" ValidationGroup="modifica" 
runat="server" Text='<%#Eval("Contenuto")%>' />
<asp:RequiredFieldValidator Display="Dynamic" Text=" *" ValidationGroup="modifica" ControlToValidate="m_contenuto" runat="server" />
</EditItemTemplate>
</asp:templatefield>
<asp:BoundField DataField="Autore" HeaderText="Autore"><headerstyle CssClass="tblHeader" /></asp:boundfield>
<asp:BoundField DataField="Data_Creazione" HeaderText="Data di creazione" readOnly="true"><headerstyle CssClass="tblHeader" /></asp:boundfield>
<asp:BoundField DataField="Data_UltimaModifica" HeaderText="Ultima modifica" readOnly="true"><headerstyle CssClass="tblHeader" /></asp:boundfield>
<asp:commandfield ShowEditButton="true" UpdateText="Salva" CancelText="Annulla" ValidationGroup="modifica" />
</fields>
</asp:DetailsView>
</asp:PlaceHolder>



Invece qui è il listener :
void salvaModifiche(Object o, DetailsViewUpdateEventArgs e){
  risultato.Text = Convert.ToString(e.Keys.Count);
}


il quale continua a stamparmi 0.

Qui il file completo :
http://www.cli.di.unipi.it/~deleod/news.aspx

Ciau!
- Atari

// Forza Reggina :)
non hai specificato nessun DataKeyNames per il tuo DetailsView

ciao marco
Modificato da nostromo il 12 dicembre 2006 10.20 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
66 messaggi dal 01 maggio 2001
Ciao ho provato ad aggiungere a asp:DetailsView la proprietà DataKeyNames="ID" ma l'evento continua a non popolarlo :((

<asp:DetailsView id="pannelloModifica" runat="server" AutoGenerateRows="false" Width="80%"
DataKeyNames="ID" OnItemUpdating="salvaModifiche">


Ciau!
- Atari

// Forza Reggina :)
stai bindando il tuo DetailsView utilizzando DataSorce invece che DataSorceID?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
66 messaggi dal 01 maggio 2001
sì... da qui lo popolo :

    videata_modifica.Visible = true;
    DataView dw = new DataView(dt);
    dw.RowFilter = "ID = " + dt.Rows[Convert.ToInt32(e.CommandArgument)]["ID"];
    pannelloModifica.DataSource = dw;
    pannelloModifica.ChangeMode(DetailsViewMode.Edit);
    pannelloModifica.DataBind();


dt è la datatable associata ad un datagrid sottostante...

Ciau!
- Atari
Modificato da Atari il 13 dicembre 2006 12.44 -
Modificato da Atari il 13 dicembre 2006 12.44 -

// Forza Reggina :)
in questo caso la la proprietà Keys dell'oggetto DetailsViewUpdateEventArgs non viene popolato, devi usare la proprietà DataKey che il DetailsView espone.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
66 messaggi dal 01 maggio 2001
ciau, come faccio allora dal gestore dell'evento a recuperare i valori dei campi modificati ?!
Non esiste una proprietà del tipo pannelloModifica.GetFieldValue("nomeDelCampo") ?!

Ciau!
- Atari

// Forza Reggina :)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.