43 messaggi dal 26 marzo 2007
Ciao a tutti !!
Problema :
vorrei cancellare un record selezionato da una gridview e per farlo uso

<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="btnDelete" text="Elimina"
OnClientClick="return confirm('Sei sicuro di voler eliminare il commento?')"
CommandArgument='<%# Eval("num") %>'
CommandName="Elimina" runat="server"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>

sfruttando l'evento:
protected void GV_visione_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Elimia")
{
//codice x effettuare la cancellazione

il problema è che devo passare nel commandArgument 2 valori poichè la chiave è composta dovrei fare una cosa all'incirca così:

CommandArgument='<%# Eval("num"),Eval("ese") %>'
solo che non so nè se si può fare,
nè come,
ho provato a concatenare la stringa attraverso +&,$ ma è stato tutto inutile

e non funziona qualcuno è in grado di aiutarmi
Grazie

Stefano
prova con

CommandArgument = '<%# string.Format("{0}{1}",Eval("Name"),Eval("Surname"))/%>

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
43 messaggi dal 26 marzo 2007
ho provato a metterlo ma mi dà alcuni errori:
Error1',' è un termine non valido nell'espressione.
Error2È previsto il segno )
Error3È previsto un punto e virgola (;).
Error4')' è un termine non valido nell'espressione.
Tenendo conto che ho aggiunto l'apice singolo(') alla fine,
se non lo metto:
Error1Il formato del tag server non è corretto.

che fare?

Grazie
CommandArgument='<%# ConcatenaChiavi(DataBinder.Eval(Container, "DataItem.Chiave1"),DataBinder.Eval(Container, "DataItem.Chiave2")) %>'

public string ConcatenaChiavi(object chiave1, object chiave2)
{
string key = string.Empty;

key += "~" + chiave1;
key += "~" + chiave2;
key = key.Substring(1);

return key;
}

protected void GV_visione_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Elimina")
{
string keyComposta = e.CommandArgument;
string chiave1 = keyComposta.Split('~')[0];
string chiave2 = keyComposta.Split('~')[1];
//codice x effettuare la cancellazione
Modificato da manuel0081 il 24 maggio 2007 09.16 -

Ormai programmano tutti... ma la professionalità appartiene a pochi
c'erano alcuni errori, uno slash di troppo:

CommandArgument='<%# string.Format("{0}{1}",Eval("Name"),Eval("Surname")) %>'

così dovrebbe funzionare.

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
43 messaggi dal 26 marzo 2007
x nostromo
Come sempre mi hai salvato!!
e non so mai cme ringraziarti...
sai veramente un sacco di cose complimenti!!

Grazie(1000) Stefano

x manuel 0081

ho provato ad utilizzare la tua funzione ma mi dice che
Il formato del tag server non è corretto
un 'altra cosa la funzione ConcatenaChiavi devo metterla nel codebehind o nel .aspx?


Ancora Grazie a entrambi senza di voi nn c'è l'avrei mai fatta Buona giornata(ormai quasi sera)

Stefano
Modificato da Lante86 il 23 maggio 2007 17.23 -
buona giornata anche a te

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
La puoi mettere dove vuoi ma ti consiglio il codebehind. In realtà tutto il codice contenuto nel codebehind può essere trasferito nell'aspx ma non è il modo migliore di programmare.

L'errore era probabilmente dovuto al fatto che ConcatenaChiavi non deve essere statica?
Modificato da manuel0081 il 24 maggio 2007 09.16 -

Ormai programmano tutti... ma la professionalità appartiene a pochi

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.