【问题标题】:How to place two submit buttons in form如何在表单中放置两个提交按钮
【发布时间】:2010-10-26 06:12:45
【问题描述】:

我在一个表单中有两个提交按钮。我想在两个按钮中调用不同的操作。有什么方法可以在不使用 JavaScript 的情况下完成此操作。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    如果没有 javascript,就无法调用不同的操作。您可以调用相同的控制器操作,并在此操作中使用 name 属性确定按下了哪个按钮:

    <% using (Html.BeginForm()) { %>
        <input type="submit" name="save" value="Save" />
        <input type="submit" name="update" value="Update" />
    <% } %>
    

    在你的控制器动作中:

    [HttpPost]
    public ActionResult Index(string save)
    {
        if (!string.IsNullOrEmpty(save))
        {
            // the save button was pressed
        }
        else
        {
            // the update button was pressed
        }
        return View();
    }
    

    【讨论】:

      【解决方案2】:

      为按钮赋予不同的名称属性。然后在您的视图处理程序(或等效的 - 抱歉,不是 ASP.NET MVC 人员)中,您可以检查该按钮的名称是否在 HTTP 响应中并采取相应措施。

      响应中应仅存在一个提交按钮名称。

      【讨论】:

        【解决方案3】:

        当然有! 例如,我们有以下形式:

        <form>
        <input name='customer_name' type='text'/>
        <input name='update_user' type='submit' value='Update user info'/>
        <input name='delete_user' type='submit' value='Delete user'/>
        </form>
        

        当服务器收到表单请求时,集合中只存在一个参数:update_user 或 delete_user。取决于用户按下了什么。

        【讨论】:

        • 相关但不适用于 asp.net mvc
        • 我认为您需要编辑您的帖子并展示如何在服务器端代码中区分一个与另一个。答案只是问题的一半。
        猜你喜欢
        • 2017-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多