如何将表单中的按钮发布到不同的操作

时间:2015-09-05 08:46:04

标签: asp.net-mvc asp.net-mvc-5

我们说我有一个列出一些项目的表格:

@using (Html.BeginForm("Index", "SagePayServerInframe", FormMethod.Post))
{
    if (Model.Tokens.Any())
    {
        <h2>Select an existing card</h2>
        for (int i = 0; i < Model.Tokens.Count; i++)
        {
            <div class="sagepay-wrapper">
                <div><span>Card Type:</span> @Model.Tokens[i].CardType</div>
                <div><span>Last 4 Digits:</span> @Model.Tokens[i].Last4Digits</div>
                <div><span>Expiry Date:</span> @Model.Tokens[i].ExpiryDate</div>
                <div>
                    @Html.RadioButtonFor(m => m.SelectedTokenId, Model.Tokens[i].Id, new { @id = "SelectedTokenId" + i })
                    <label for="SelectedTokenId@(i)">SELECT</label>
                </div>
            </div>            

        }
    }
    <input type="submit" value="Continue" class="uppercase"/>
}

现在,我想对每个条目添加一个删除按钮。我似乎在现有表单中没有其他表单(当我尝试新的Html.BeginForm时,它不会在页面上显示。)

我将如何实现这一目标?理想情况下,我希望能够回复DeleteToken行动。我感觉我错过了一些简单的东西,但不确定它是什么。

1 个答案:

答案 0 :(得分:0)

使用Jquery hack(代码未测试,可能有语法错误,对不起)

按下button1后,访问表单对象并重置表单URL。

$("#button1").click(form(){
    $(this).form.URL = "../Controller1/Action1";
});

单击button2时的AND

$("#button2").click(form(){
    $(this).form.URL = "../Controller2/Action2";
});