我在表单中有两个提交按钮,一个用于搜索对应一个名称的记录,第二个用于在需要进行修正后在DB中更新该记录。
控制器中的三个动作
HttpGet
进行编辑 - 首次显示时,将所有名称从数据库加载到下拉列表HttpPost
进行修改 - 当我们点击搜索时,它会获取该名称的每个细节HttpPost
- 当我们点击编辑记录它将所有数据保存回数据库在代码中我想这样做
public ActionResult EditOperation(string Command, DataLayer objmodel)
{
if (Command == "Search")
{
return RedirectToAction(Edit with Post method) // How to ? always going to Edit With get method
}
else if (Command == "Edit Record")
{
return RedirectToAction(EditPerson) //Easy to redirect but How to send Model object also ?
}
return View("Edit",objmodel);
}
RedirectToAction (String ActionName, String ControllerName , Object routeValues)
有没有办法告诉编译器重定向到编辑操作但是有Post方法的人不是Get?
注意:不要在这里使用Javascript,只有纯c#代码
答案 0 :(得分:2)
重定向始终使用get,尝试返回“编辑”视图,传入您要使用的模型:
public ActionResult Edit(){
....retrieve Model
return View(MyModel); // default view : Edit
}
[HttpPost]
public ActionResult Edit(MyModel){
....do things with MyModel
return View("OtherView", MyModel);
}