2012-06-08 25 views
5

Sto visualizzando un mucchio di film in un tavolo, alla fine sto eliminando ogni film tramite Javascript che nasconde il div.Come chiamare un metodo di controllo da Javascript

Ora desidero eliminare anche il film dal database, quindi qual è il modo migliore per chiamare il metodo del controller da Javascript?

+4

molti modi. Potresti creare un modulo con i dati e postarlo, potresti seguire un collegamento GET nel formato corretto, puoi invocare una chiamata AJAX ... la tua domanda non è abbastanza specifica –

+3

inviare un POST o DELETE con AJAX è il modo di partire. azioni distruttive come le eliminazioni non dovrebbero essere eseguite con GET – kenwarner

+0

Puoi mostrare il tuo metodo di controllo e come/dove stai popolando l'id del film che desideri eliminare nel tuo javascript? –

risposta

4

avere un metodo HttpPost azione per eliminare in movie regolatore

[HttpPost] 
public ActionResult Delete(int id) 
{ 
    try 
    { 
    repo.DeleteMovie(id); 
    return "deleted" 
    } 
    catch(Exception ex) 
    { 
    //Log errror 
    } 
    return "failed"; 
} 

E secondo lei,

<a href="#" data-movieId="34" class="movie">Delete Avengers</a> 
<a href="#" data-movieId="35" class="movie">Delete Iron Man</a> 
<script type="text/javascript"> 
$(function(){ 

    $(".movie").click(function(e){ 
    e.preventDefault(); 
    $.post("@Url.Action("Delete","Movie")", { id : $(this).data("movieId")} ,function(data){ 
     alert(data); 
    }); 
    }); 
}); 

</script> 
3

a seconda del vostro codice potrebbe essere semplice come:

$.post("/controller/method" + id); 
1

Prova questo: (utilizzando jQuery Ajax)

$("#DeleteButtonID").on("click", function() { 
    $.ajax(
    { 
     type: "POST", 
     page: 1, 
     rp: 6, 
     url: '@Url.Action("PopulateDataListWithHeader", "DataList")' + "?id=" + YOURID, 
     dataType: "json", 
     success: function(result) { 

     }, 
     error: function(x, e) { 

     } 
    }); 
}); 
0

Try This,

function(){ 
    var url = '@Url.Action("SearchReoccurence", "SearchReoccurence", new { errormessage = "__msg__" })'; 
} 
Problemi correlati