如何创建一个将页面调用为HttpGet的按钮

时间:2012-10-05 13:56:33

标签: .net asp.net-mvc asp.net-mvc-3 razor

我正在学习MVC和ASP.NET。我有一个表,其中最后一列包含每行的编辑按钮。这很好用,我喜欢按钮与链接的外观和感觉,但是当它打开页面时,在控制器中调用HttpPost动作。我理解为什么会发生这种情况,它是一个提交按钮,并且它正在提交该页面。如何修改这个以便我有一个按钮重定向到该页面的HttpGet? (在剃刀......)

@using (Html.BeginForm("Update", "Purchase"))
{
    @Html.HiddenFor(x => x.Id)
    <input type="submit" value="Update" />
}

2 个答案:

答案 0 :(得分:1)

FormMethod.Get添加到BeginForm()参数。

答案 1 :(得分:1)

您可能需要Post-Redirect-Get,因为您需要保存已发布的数据。

在后期操作中,您将重定向到GET操作(可能是包含更新信息的同一页面)。这样,后续刷新(F5)将不会重新提交POST。这是一个很好用的模式。