一种形式,但多个动作按钮

时间:2014-03-30 05:13:03

标签: c# asp.net-mvc

我有一个表单,用户可以在其中填写一些详细信息,并使用提交按钮提交数据。

我需要在我的表单中添加一个新按钮,它会返回一个帖子,将模型传回,将一些项添加到List<> (这是模型的属性),然后刷新页面。

如何将帖子路由到与表单发布方法不同的操作?

2 个答案:

答案 0 :(得分:0)

您可以使用提交按钮的名称作为操作中的参数。

我们假设您有以下提交按钮:

<input type="submit" name="btnCompare" value="Compare" />
<input type="submit" name="btnSave" value="Save" />

您可以在一个操作中捕获它们,然后检查是否单击了哪个:

[HttpPost]
public ActionResult SavedResults(Results myResults, string btnCompare, string btnSave) {
  if (btnCompare != null) {
    //btnCompare was clicked. Do related stuff here.
  }
  else if (btnSave != null) {
    //btnSave was clicked. Do related stuff here.
  }
}

答案 1 :(得分:0)

你应该使用两个名称相同但价值不同的不同按钮,并在有条件的控制器上的后期操作中使用此按钮名称。

在您的视图中使用此

在控制器上使用以下代码。

[HttpPost]
public ActionResult ActionName(ModelName model, string Action)
{
if(Action.Equals("button1")
{
}
if(Action.Equals("buttons")
{
//write your code to add items in list
model.itemList.Add(newitem);
}
return RedirectToAction("ActionName",model);
}