237 messaggi dal 02 novembre 2010
Ciao a tutti,
nella mia applicazione MVC, ho a disposizione una pagina nella quale viene visualizzata una tabella con degli oggetti.

La mia idea era quella di mettere una colonna, nella quale inserire un pulsante/link per la cancellazione dell'elemento.

La prima cosa che mi è venuta in mente, è quella di inserire un codice come questo:

<a href="@Url.Action("DeleteArticolo", "HomeController", item.Id)">Delete</a>


Nel quale richiamare la action, il controller e passare l'ID dell'elemento che si vuole eliminare.

Purtroppo però, quando mando in esecuzione il tutto, non avviene il rendering per l'attributo href. Infatti non viene proprio considerato, come se non avessi inserito nulla.

Non riesco a capire cosa sto sbagliando, mi sarei perlomeno aspettato di trovare qualche href errato.
Sapete darmi un suggerimento?
710 messaggi dal 13 novembre 2008
Contributi
risposta breve

<a href='@Url.Action("DeleteArticolo", "Home", new { id = item.Id })'>Delete</a>


risposta non breve
le azioni che alterano i dati vanno eseguite tramite POST (o DELETE in questo caso) e non GET per ragioni di sicurezza
con javascript puoi fare una qualsiasi web request col verbo giusto (DELETE), se non vuoi usare js, puoi usare un form (POST) con antiforgerytoken abilitato, credo che in MVC sia true di default

ciao
237 messaggi dal 02 novembre 2010
Interessante la risposta non breve.
Tradotto, parliamo di una chiamata js con Ajax ad una action?
710 messaggi dal 13 novembre 2008
Contributi
si, un qualsiasi tipo di richiesta http, se ti viene comodo puoi usare JQuery, qualcosa del tipo

$.ajax({
type: "DELETE",
url: urlActionToDelete,
data: id, // o JSON.stringify({ id: id }) dipende cosa riceve la action
dataType: "json", // oppure 'text', dipende cosa restituisce la action
contentType: "application/json; charset=utf-8",
success: function () {
},
error: function () {
}
});

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.