在我的MVC3剃刀视图中,我有一个“GetRecords”按钮。单击此按钮,它将回发并检索多组记录。根据记录集的数量,它将动态重新生成视图并显示每组记录。它还会针对每组记录生成“保存”和“删除”按钮,以便用户查看每个记录集,并可以从任何这些记录集中“保存”或“删除”数据。
这里我的问题是如何在这里处理按钮点击。任何建议
[Httppost]
public ActionResult GetRecords(ContentsViewModel vmodel)
{
vmodel.GetRecords();
return view(vmodel);
}
答案 0 :(得分:0)
我不太确定你想要实现的是什么,但是如果你想从表单中处理多个按钮,那么在视图中你需要给每个按钮命名。例如:
@using (Html.BeginForm())
{
...
<input type="submit" value="Get Records" name="getrecords"/>
<input type="submit" value="Save" name="save"/>
<input type="submit" value="Delete" name="delete"/>
}
然后您可以使用以下方法在后期操作中测试这些值:
[HttpPost]
public ActionResult AppropriateActionNameHere(ContentsViewModel vmodel)
{
if (!string.IsNullOrEmpty(Request["getrecords"]))
{
vmodel.GetRecords();
}
else if(!string.IsNullOrEmpty(Request["save"]))
{
//save record processing here
}
else if(!string.IsNullOrEmpty(Request["delete"]))
{
//delete record processing here
}
return View(vmodel); //Or perform the appropriate redirect or whatever you need to perform
}
另一种可能性是在视图上有多个表单,每个表单都会发回一个不同的动作。