关于Http的Get中不能操作数据

Get中只是查看信息,而不能操作数据和信息。

一直是这么做的,但是没有好好思考为什么。

今天看到一篇E文。明白了。

http://stephenwalther.com/archive/2009/01/21/asp-net-mvc-tip-46-ndash-donrsquot-use-delete-links-because。

大致如下:如果你收到一个链接,链接中有操作数据的行为,链接是Http Get,你点击之后,就会发生你不希望的动作,比如把数据给删掉了。

还学到了

1、JS可以这样用  request.set_httpVerb("DELETE");

2、[AcceptVerbs(HttpVerbs.Post)]和[HttpPost, ActionName("Delete")]的关系。AcceptVerbs可以设置多种Http方法。

3、<a href='<%= Url.Action("Edit", "Home", new { id = item.Id })%>'><img src="Content/Edit.png" alt="edit" border="0" /></a> 

<% using (Html.BeginForm("Delete", "Home", new { id = item.Id })) { %> <input type="image" src="Content/Delete.png" /> <% } %>

以上为使用图片方式。

 @Html.ActionLink("Edit", "Edit", new { id=item.Id}) ----》这是生成的代码

 

posted @ 2013-06-05 12:42  JustDotNet  阅读(233)  评论(0)    收藏  举报