我正在表格中显示一堆电影,我最终通过隐藏div的Javascript删除每部电影。
我现在也想从数据库中删除电影,那么从Javascript调用控制器方法的最佳方法是什么?
答案 0 :(得分:5)
要在movie
控制器中删除 HTTPPost 操作方法
[HttpPost]
public ActionResult Delete(int id)
{
try
{
repo.DeleteMovie(id);
return "deleted"
}
catch(Exception ex)
{
//Log errror
}
return "failed";
}
在你的视图中,
<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>
答案 1 :(得分:3)
根据您的代码,它可以简单如下:
$.post("/controller/method" + id);
答案 2 :(得分:2)
试试这个:(使用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) {
}
});
});
答案 3 :(得分:0)
试试这个,
function (){
var url = '@Url.Action("SearchReoccurence", "SearchReoccurence", new { errormessage = "__msg__" })';
}