在MVC中通过Ajax调用JsonResult

时间:2013-03-06 16:10:00

标签: jquery asp.net-mvc-4

我是Ajax的新手!我有一个删除jsonResult与此定义:

 [HttpPost]
        public JsonResult Delete(ContactViewModel contactUsViewModel)
        {
            if (ModelState.IsValid)
            {
                _contactUsService.Remove(contactUsViewModel.Id);
            }
            return Json("");
        }

我想通过ajax调用在popUp模式中调用此动作,我写的内容是这样的:

<div>
    @Html.ActionLink("Delete", "Delete", "Contact", new { contactId = Model.Id }, null)
</div>

<script>
    $(function () {
        $("#test").click(function () {
            $.ajax({
                url: '@Url.Action("Delete", "Contact")'
            });

        });
    })
</script>

我怎么称呼这个jsonresult?

1 个答案:

答案 0 :(得分:0)

最好只在动作中编写id,不需要所有属性。

试试这个:

 [HttpPost]
 public JsonResult Delete(int contactId)
 {
     if (ModelState.IsValid)
     {
         _contactUsService.Remove(contactId);
     }
     return Json("");
 }

HTML:

<div>
    @Html.ActionLink("Delete", "Delete", "Contact", new { contactId = Model.Id }, new { @class = "delete" })
</div>

Jquery的:

<script>
    $(function () {
        $(".delete").click(function (e) {
            e.preventDefault();
            var link = this.href;
            $.ajax({
                type: 'Post',
                url: link,
                success: function (data) { }
            });
        });
    })
</script>