1

在我的 MVC3 razor 视图上,我有一个“GetRecords”按钮。单击此按钮后,它将回发并检索多组记录。根据记录集的数量,它将动态重新生成视图并显示每组记录。它还将针对每组记录生成“保存”和“删除”按钮,以便用户查看每个记录集并可以从这些记录集中“保存”或“删除”数据。

在这里我的问题是如何处理按钮点击。任何建议

[Httppost]
 public ActionResult GetRecords(ContentsViewModel vmodel)
        {
         vmodel.GetRecords();

       return view(vmodel);
     }
4

1 回答 1

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"/>
}

然后您可以使用以下命令在 post 操作中测试这些值:

[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
}

另一种可能性是在视图上有多个表单,每个表单回发到不同的操作。

于 2012-04-29T13:15:08.863 回答