如何检测在asp.net(mvc)中单击了哪个提交按钮

时间:2014-08-19 20:32:03

标签: html asp.net-mvc button input submit

我已经阅读了大量使用提交类型输入值的答案,但我的输入按钮集合需要都具有相同的文本。其他人使用Javascript,我也试图避免这种情况。

<input type="submit" value="Press This" name="submitButton" />

不起作用,因为它们都需要命名为“按此”。

<button type="submit" value="12" name="submitButton">Press This</button>

不起作用,因为它没有发布值。

有没有办法让<button>提交它的值或更改<input type="submit">的文字,以便他们在页面上同时具有不同的值时说同样的内容?或者甚至可能将数值隐藏在input元素的value属性中,然后在使用值之前删除“Press This”?

也许使用<input type="image" value="12" />的图片上写着“按此”?

编辑:尝试了<input type="image">但它不起作用。它将提交表单,但它不使用name属性来转到控制器上的正确操作。

Edit2:我还应该补充一点,提交按钮的数量是动态的,因此我不能给它们所有不同的名称,然后看看控制器中哪个参数传递给它。除非有一些方法可以为未知数量的按钮执行此操作...

1 个答案:

答案 0 :(得分:11)

您的按钮应如下所示:

<button name="button" value="12">Press This</button>
<button name="button" value="13">Press That</button>

然后让他们参与行动

public ActionResult MyAction(string button)
{
    if (button == "12"){
        //Do this
    }

    if (button == "13"){
        //Do that
    }
}