如何进行ASP.NETMVCjQuery删除操作

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

创新互联建站专注于企业成都营销网站建设、网站重做改版、盐津网站定制设计、自适应品牌网站建设、H5页面制作商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为盐津等各大城市提供网站开发制作服务。

在最近的一个帖子里,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删除操作了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网页名称:如何进行ASP.NETMVCjQuery删除操作
网站网址:http://ybzwz.com/article/ihdjgo.html