如何从Javascript调用控制器方法

Jam*_*mes 6 .net asp.net asp.net-mvc-3

我在一张桌子上显示一堆电影,我最终通过隐藏div的Javascript删除每部电影.

我现在想要从数据库中删除电影,那么从Javascript调用控制器方法的最佳方法是什么?

Tom*_*dee 5

根据您的代码,它可能很简单:

$.post("/controller/method/" + id);
Run Code Online (Sandbox Code Playgroud)


Shy*_*yju 5

HTTPPost操作方法在您删除movie控制器

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

在你的视图中,

<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>
Run Code Online (Sandbox Code Playgroud)