2012-06-08 15 views
5

Wyświetlam kilka filmów w tabeli, w końcu usuwam każdy film przez JavaScript, który ukrywa element div.Jak wywołać metodę kontrolera z Javascriptu

Chcę teraz usunąć film z bazy danych, więc jaki jest najlepszy sposób wywołania metody sterownika z Javascript?

+4

wiele sposobów. Możesz zbudować formularz z danymi i opublikować go, możesz śledzić link GET w odpowiednim formacie, możesz wywołać wywołanie AJAX ... Twoje pytanie nie jest wystarczająco specyficzne. –

+3

Przesłanie POST lub DELETE z AJAX jest drogą do udać się. działania destrukcyjne, takie jak usuwanie, nie powinny być wykonywane za pomocą GET – kenwarner

+0

Czy możesz pokazać swoją metodę kontrolera i jak/gdzie wypełniasz identyfikator filmu, który chcesz usunąć w javascript? –

Odpowiedz

4

Masz metodę HttpPost działania w celu usunięcia w kontrolerze

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

movie A Pana zdaniem,

<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

zależności od kodu może być tak proste, jak:

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

Spróbuj tego: (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

Spróbuj to,

function(){ 
    var url = '@Url.Action("SearchReoccurence", "SearchReoccurence", new { errormessage = "__msg__" })'; 
} 
Powiązane problemy