У меня есть две кнопки отправки в форме, одна для поиска записей, соответствующих имени, вторая - для обновления этой записи в БД после выполнения коррекции, если это необходимо.
Три действия в контроллере
HttpGet
- при отображении первого отображения времени он загружает все имя из базы данных в выпадающий списокHttpPost
Когда мы нажимаем на поиск, он получает каждую деталь этого имени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)
Есть ли способ рассказать об уступчике, который перенаправляет действие "Редактировать действие", но тот, у кого есть метод "Пост", а не "Получить"?
Примечание. Не используйте Javascript здесь, только чистый код С#
При переадресации всегда используется 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);
}
Edit
включив в него подпрограмму (ы) сохранения записи, в зависимости от скрытого поля или других значений поля, предоставленных при отправке пользователем запроса POST.