• 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

Object Storage Arubacloud
0 głosów
240 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 616 wizyt
pytanie zadane 30 czerwca 2021 w C# przez reaktywny Nałogowiec (41,090 p.)
+1 głos
0 odpowiedzi 261 wizyt
pytanie zadane 30 października 2019 w C# przez TheFunny Gaduła (3,420 p.)
0 głosów
0 odpowiedzi 317 wizyt

92,666 zapytań

141,564 odpowiedzi

320,022 komentarzy

62,033 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.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...