您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何進行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刪除操作了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。