Co ja robię źle z moim kodem MVC tutaj? Widok indeksu zawiera formularz, który się przedkłada, a ja chciałbym, aby kontroler przetworzył zgłoszony formularz, a następnie powrócił do widoku.RedirectToAction nie odświeża strony zgodnie z oczekiwaniami
To, co się dzieje, to fakt, że formularz jest przetwarzany poprawnie, ale widok został zwrócony tak, jakby nic się nie stało (np. Identyfikatory, które zostały usunięte, nadal są wyświetlane). Jeśli jednak ręcznie odświeżę stronę, ponownie wyświetli się ona poprawnie. Nie sądzę, że jest to buforowanie typu broswer, ponieważ przekierowanie do tego samego widoku z innego kontrolera działa dobrze. Jak mogę to naprawić?
public ViewResult Index()
{
return View(GetComments());
}
[HttpPost]
public ActionResult Index(int[] AllIds)
{
if (AllIds != null)
{
foreach (int id in AllIds)
{
// do stuff
}
}
return RedirectToAction("Index");
}
Edycja: Po wysłaniu formularza, punkt przerwania na pierwszej metodzie nie jest trafiony i stara się „Step Into (F11)” linia return RedirectToAction("Index");
tylko porusza się prosto na końcowym }
zamiast.
Tak więc POST aktualizuje dane pobierane przez GetComments()? Po zakończeniu testu POST funkcja GetComments() powinna zwrócić różne dane? – danludwig
Tak, POST aktualizuje/usuwa te same dane, które wybiera GET. – mikel