Html.BeginForm PUT

时间:2010-03-15 17:40:17

标签: asp.net-mvc

当我使用Html.BeginForm在更新项目时提交表单时,似乎无法定义PUT。这是对的吗?

3 个答案:

答案 0 :(得分:2)

是的,这是正确的。浏览器仅支持GET和POST以发送表单。你可以使用AJAX:

$.ajax({
    url: '/action',
    type: 'PUT',
    data: { param1: 'value1' },
    success: function(result) {

    }
});

如果您想要AJAXify表单提交,您可以查看jquery.form插件。

答案 1 :(得分:2)

如果您使用ASP.NET MVC 2,请检查Html.HttpMethodOverride方法和HttpPutAttribute。

ASP.NET MVC 1.0还检查MVC 2源代码。 HttpRequestExtensions.GetHttpMethodOverride方法很酷!

答案 2 :(得分:1)

  

...一个体面的浏览器如果能够“安静”/正确使用HTML或者说废话会不会这样做?

根据HTML4 spec,Form元素仅支持GET和POST。从技术上讲,任何允许其他动词的浏览器都不符合规范。看起来HTML5会支持其他动词。

编辑:现在看起来我可以链接到两个文档。