如何在ASP.NET MVC中的HttpPost Action中正确传递参数值?

时间:2016-05-13 09:19:47

标签: asp.net-mvc-5

我正在尝试提交单击控制器方法的提交按钮的值,但方法中的参数未绑定到单击按钮的值。

查看

@using (Html.BeginForm())
{
    ....
    <input type="submit" name="test" value="TEST"  />
    <input type="submit" name="test" value="TEST22" />
}

控制器

[HttpPost]
public ActionResult Index(string action)
{
    // the value of action is null
    ....
    return View();
}

1 个答案:

答案 0 :(得分:1)

表单将提交成功控件的名称/值对(基于namevalue属性)。对于<input type="submit" ... />,它将是单击的按钮的值(不提交其他提交按钮的值)。

在您的情况下,您为按钮提供name="test"属性,这意味着表单将提交test: TESTtest: TEST22(取决于您点击的按钮),因此POST方法必须是

public ActionResult Index(string test)

或者,您可以将每个按钮更改为name="action"