我有一个表单,用户可以在其中填写一些详细信息,并使用提交按钮提交数据。
我需要在我的表单中添加一个新按钮,它会返回一个帖子,将模型传回,将一些项添加到List<> (这是模型的属性),然后刷新页面。
如何将帖子路由到与表单发布方法不同的操作?
答案 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);
}