Я работаю на веб-приложение ASP.NET MVC4, и у меня есть метод контроллера для обработки с GET
запрос с id
в URL, как так ...Как обрабатывать POST-запрос URL-адресу, содержащему параметры маршрута?
[PortalAuthorization]
public ActionResult View(int id)
{
// get the individual ftp log
PortalFTPLog log = PortalFTPLogs.Get(id);
if (log == null)
{
TempData["Error"] = "The provided ftp log id does not exist.";
return RedirectToAction("Index");
}
// get the available matters to tie uploads to
ViewBag.matters = PortalMatters.Get();
return View(log);
}
на мой взгляд, для этого контроллер, у меня есть форма, чтобы они могли ее обновить, и я хочу вернуть POST
на тот же URL. URL-адрес, такой как foo.com\items\1
. То, что функция выше обрабатывает.
Как создать функцию, которая обрабатывает запрос POST
для функции, требующей параметра? IN previous POST
handlers Я создаю параметр FormsCollection, но когда я добавляю его в список параметров для этой функции, параметр id
имеет значение NULL.
[HttpPost]
[PortalAuthorization]
public ActionResult View(FormCollection collection, int id)
{
PortalFTPLog log = PortalFTPLogs.Get(id);
if (log == null)
{
TempData["Error"] = "The provided ftp log id does not exist.";
return RedirectToAction("Index");
}
// update the matter id and save to database
log.Matter = Convert.ToInt32(collection.Get("matter"));
log.Save();
TempData["Notice"] = "The FTP log meta data has been updated.";
return RedirectToAction("View", new { id = id });
}
Спасибо!