Asp.net mvc 5 如何在ASP.NET MVC的HttpPost操作中正确传递参数值?

Asp.net mvc 5 如何在ASP.NET MVC的HttpPost操作中正确传递参数值?,asp.net-mvc-5,Asp.net Mvc 5,我正在尝试将单击的submit按钮的值提交到控制器方法,但该方法中的参数未绑定到单击的按钮的值 查看 @使用(Html.BeginForm()) { .... } 控制器 [HttpPost] 公共操作结果索引(字符串操作) { //action的值为null .... 返回视图(); } 表单将提交成功控件的名称/值对(基于名称和值属性)。如果是,则是单击的按钮的值(其他提交按钮的值将不会提交) 在您的情况下,您为按钮提供了一个name=“test”属性,这意味着表单将提交test:test

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

查看

@使用(Html.BeginForm())
{
....
}
控制器

[HttpPost]
公共操作结果索引(字符串操作)
{
//action的值为null
....
返回视图();
}

表单将提交成功控件的名称/值对(基于
名称
属性)。如果是
,则是单击的按钮的值(其他提交按钮的值将不会提交)

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

public ActionResult Index(string test)

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

我可以以任何方式使用属性“HttpParamAction”吗?我在同一个Html.BeginForm()中有两个按钮……我需要知道用户单击了哪个按钮……我认为您的解决方法对我不好;(一个按钮执行保存数据保持在同一页,另一个按钮执行保存数据并处理重定向到另一页,但我希望在视图中管理此操作。许多感谢步骤在写答案时,我将其标记为“好”。我已删除了我以前的所有评论,因为它们与原始问题相关,而原始问题完全不同现在的租金。建议你也这样做。非常感谢斯蒂芬……明白了!:)