加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用Ajax.ActionLink进行正确的HTTP删除问题

发布时间:2020-12-16 04:01:46 所属栏目:asp.Net 来源:网络整理
导读:我想做什么: 尝试使用“正确的”HTTP删除删除记录. 控制器代码: [HttpDelete] public void DeleteRun(int RunId) { repository.RemoveEntry(RunId); } 剃刀查看: @Ajax.ActionLink("Delete","DeleteRun",new {RunId = run.RunId},new AjaxOptions() { Con
我想做什么:
尝试使用“正确的”HTTP删除删除记录.

控制器代码:

[HttpDelete]
    public void DeleteRun(int RunId)
    {
        repository.RemoveEntry(RunId);

    }

剃刀查看:

@Ajax.ActionLink("Delete","DeleteRun",new {RunId = run.RunId},new AjaxOptions() { Confirm = "Are you sure you want to delete this entry?",HttpMethod = "DELETE",OnComplete = string.Format("DeleteRunInTable({0})",run.RunId)

                         })

Javascript(在单独的包含文件中):

function DeleteRunInTable(RunId) {
       $("tr[data-runid=" + RunId).remove();
}

链接actionlink方法正在创建:

<a data-ajax="true" data-ajax-complete="DeleteRunInTable(11)" data-ajax-confirm="Are you sure you want to delete this entry?" data-ajax-method="DELETE" href="/Runs/Delete/11">Delete</a>

不确定javascript部分是否有效但不担心它.试着一次迈出一步:).现在它只是像传统标签一样工作,当我点击链接时它只是做一个href的GET请求.当然我得到了404错误,因为我把[HTTPDelete]放在我的控制器上.我对Web开发很陌生,所以我确定在javascript或jquery中还有其他方法可以做同样的事情,但我只是在做我现在知道的事情.

解决方法

这应该像我最近自己做的那样工作,我所要做的就是在AjaxOptions参数中指定HttpMethod.

您还需要确保页面上包含jquery.unobtrusive-ajax.js脚本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读