【问题标题】:How to create a button that will call a page as HttpGet如何创建一个将页面调用为 HttpGet 的按钮
【发布时间】:2012-10-05 13:56:32
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-03
        • 2015-04-14
        • 1970-01-01
        • 1970-01-01
        • 2015-10-16
        • 2022-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多