我一直在研究微软的ASP.NET MVC教程,最后到了这个页面
http://www.asp.net/learn/mvc/tutorial-32-cs.aspx
以下声明是针对此页面的底部进行的:
通常,在调用修改Web应用程序状态的操作时,您不希望执行HTTP GET操作.执行删除时,您希望执行HTTP POST,或者更好的是,执行HTTP DELETE操作.
这是真的?任何人都能对这一陈述背后的理由提供更详细的解释吗?
维基百科声明如下:
某些方法(例如,HEAD,GET,OPTIONS和TRACE)被定义为安全,这意味着它们仅用于信息检索,不应更改服务器的状态.
相比之下,POST,PUT和DELETE等方法适用于可能导致服务器副作用的操作
我想在删除之前提示确认对话框。我在这里找到了这个很好用的答案
@Html.ActionLink(
"Delete",
"Delete",
new { id = post.OriginalPost.ID },
new { onclick = "return confirm('Are you sure you wish to delete this post?');" });
Run Code Online (Sandbox Code Playgroud)
但正如我在 Core 中的理解,应该避免使用 ActionLinks。那么是否有任何标签助手或不同的方法来做到这一点?