• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

POST i GET ASP.NET CORE

Cloud VPS
0 głosów
282 wizyt
pytanie zadane 12 sierpnia 2020 w C# przez krzysiu7550 Nowicjusz (120 p.)

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 ?

1 odpowiedź

0 głosów
odpowiedź 26 czerwca 2021 przez assassin Gaduła (3,260 p.)
Przede wszystkim, dlaczego używasz Razora? To już trochę przeżytek.

Użyj sobie jqGrida, który jest jeszcze większym przeżytkiem, ale robi robotę i naprawdę ułatwia takie właśnie zadania.

Podobne pytania

+1 głos
0 odpowiedzi 933 wizyt
pytanie zadane 30 czerwca 2021 w C# przez reaktywny Nałogowiec (46,230 p.)
+1 głos
0 odpowiedzi 310 wizyt
pytanie zadane 30 października 2019 w C# przez TheFunny Gaduła (3,420 p.)
0 głosów
0 odpowiedzi 460 wizyt

93,459 zapytań

142,453 odpowiedzi

322,722 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...