几个提交按钮具有不同的Id但相同的动作

时间:2018-01-24 14:45:04

标签: c# html forms asp.net-core-mvc

我有一个包含任意数量商品(产品)的购物车表格。对于每个项目,都有一个删除按钮。在表单的底部,有一个更新数量按钮。每个删除按钮都应该发布"删除"和Id。更新按钮应发布"更新"以及输入字段中的整个值数组。

我花了一些时间在谷歌上搜索答案,但每次提到一个表格中的多个提交按钮"我能找到,指的是每个按钮的不同动作。我想指向相同的操作,但每个按钮的ID不同。这意味着我无法在asp-action="someAction" asp-route-id="someId" - 代码中使用FORM

我的问题:

1)如何向控制器发送动作和Id(删除项目)?如果我将Id放在按钮标记内的value=""内,则ID将显示在按钮上。我不想要那个。

2)如何从所有项目的数量输入字段发送值数组,以及如何将每个值与相应的Id匹配(在操作方法中)?

这是我的购物车:

<form>
    <table>
        @foreach (var item in Model.ShoppingCartItems)
        {
            <tr>
                <td nowrap>
                    <a asp-action="Details" asp-route-id="@item.ProductId">
                        @item.ProductTitle
                    </a>
                </td>
                <td nowrap>
                    @Html.DisplayFor(Model => item.ProductPrice)
                </td>
                <td nowrap>
                    <input asp-for="@item.Quantity" value="@item.Quantity" />
                </td>
                <td nowrap>
                    @Html.DisplayFor(modelItem => item.LineSum)
                </td>
                <td>
                    <button type="submit" formaction="Delete">Delete</button>
                </td>
            </tr>
        }
        <tr>
            <td colspan="3"><strong>Sum</strong></td>
            <td nowrap><strong>@Html.DisplayFor(model => model.TotalSum)</strong></td>
            <td></td>
        </tr>
        <tr>
            <td colspan="3">
                <button type="submit" formaction="Update">Update quantities</button>
            </td>
            <td colspan="2">
                <a asp-action="Checkout">Go to checkout</a>
            </td>
        </tr>
    </table>
</form>

尚未编写动作方法。我不希望任何人为我编码,我只需要朝着正确的方向轻推。 :)

1 个答案:

答案 0 :(得分:0)

您不必将其设为type =“submit”。你可以使它成为正常的Ajax请求。

(1)你可以在attr中添加id(例如:data-id =“@ Id”)并在按下删除时调用此函数调用javascript ajax调用并读取attr值。

(2)您可以传递JSON格式的数组 从这里了解更多 https://www.codeproject.com/Questions/834557/Pass-an-array-to-MVC-Controller-from-ajax How to pass Array to MVC Controller with Jquery?

相关问题