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



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

查看

@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();
}

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

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

public ActionResult Index(string test)

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

最新更新