温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行ASP.NET MVC jQuery删除操作

发布时间:2021-10-28 11:08:09 来源:亿速云 阅读:215 作者:柒染 栏目:编程语言

这期内容当中小编将会给大家带来有关如何进行ASP.NET MVC jQuery删除操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在最近的一个帖子里,Stephen Walther指出了使用过一个超链接来删除数据的危险性。这篇文章对这方面问题进行了很好的阐述。不过这类问题不仅仅局限于删除操作。任何时候,你如果允许一个GET请求来修改数据的话,你就可能实在自找麻烦。这里有一个很久以前发生在BackPack身上的故事,你可以看一下就知道我的意思了。

之所以jQuery删除操作值得我们格外注意是因为这是最常见的一个使用超链接修改信息的情况。如果你要修改一个产品记录,那你可能会采用一个表格(form)。不过删除操作通常只需要一个参数(就是要删除记录的id),而我们很容易在GET请求的URL中夹带这个***的参数。

如果你在使用jQuery,一个很简单的将任何超链接转换成POST连接的方法是通过将以下代码赋给onclick属性值:

$.post(this.href); return false;

比如

< a href="/go/delete/1" onclick="$.post(this.href); return false;">Delete< /a>

这段代码会向/go/delete/1发送一个POST请求而不是一个GET请求。当然,你也需要在服务器端做必要的规定,在asp.net mvc中,这很简单:

[AcceptVerbs(HttpVerbs.Post)]public ActionResult Delete(int id) {  //Delete that stuff!}

AcceptVerbs属性规定了这个action方法只响应POST请求,而GET请求将被忽略。

至此,你应该很容易编写专门用于delete链接的帮助函数了。我通常会编写很专用的帮助函数,比如:Html.DeleteProduct或Html.DeleteQuestion. 这里有我正在编写的一个示例程序中的一段jQuery删除功能的代码:

public static string DeleteAnswerLink(this HtmlHelper html, string linkText  , Answer answer) {    return html.RouteLink(linkText, "answer",        new { answerId = answer.Id, action = "delete" },         new { onclick="$.post(this.href); return false;" });}

这个方法的优点在于你可以充分利用现存的帮助函数而只需通过onclick属性来增加最少量的额外内容来达到目的。

上述就是小编为大家分享的如何进行ASP.NET MVC jQuery删除操作了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI