Witam, mój problem wygląda następująco.
W widoku Edit.cshtml mam formularz
<form asp-action="Edit" asp-controller="Admin" method="post">
w którym wykorzystuję metodę post.
Następnie w kontrolerze posiadam metodę:
[HttpGet]
public IActionResult Edit(int id)
{
if (ModelState.IsValid)
{
var student = _adminModelRepository.FindStudent(id);
return View(student);
}
return View();
}
oraz
[HttpPost]
public IActionResult Edit(Student student)
{
if (ModelState.IsValid)
{
_adminModelRepository.EditStudent(student);
var model = _adminModelRepository.ShowList();
TempData["Message"] = "Edycja powiodła się!";
return View();
}
ModelState.AddModelError(string.Empty, "Wystąpił błąd przy edycji!");
return View();
}
Mianowicie chodzi o to że gdy wyświetlę listę uczniów obok każdego mam button "Edit" który jest** asp-action="Edit" asp-route-id="@item.StudentId"**, i wtedy zostaję użyty atrybut HttpGet czyli wyświetlony zostanie widok Edit(formularz) oraz zostanie pobrane Id ucznia obok którego kliknąłem button "Edit", zostanie ono przekazane do parametru 'int id' w metodzie. Następnie gdy już wypełnię formularz oraz go wyślę dalej to zostanie użyty atrybut HttpPost dane z formularza zostaną przyjęte w parametrze "Student student".
Chciałbym teraz podmienić ucznia którego Id mam w jednej metodzie[httpget] z uczniem którego mam w drugiej metodzie [httppost]. Wiem, że całą zamiana powinna zachodzić w metodzie gdzie jest użyty atrybut POST lecz skąd mam tam uzyskać Id ucznia który został pobrany w metodzie z atrybutem GET ?