return ??? i Controller som ej validerar i MVC app

.NET

1 svar · 1 376 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#1

Är rätt ny på MVC och håller på att bygga en enkel liten app. En klassisk gästbok helt enkelt! :)
Nu behöver jag hjälp med att få detta att fungera.
Jag har en huvudvy (view) Index som listar alla poster ur gästboken. I denna vy kör jag sedan RenderAction("Form") för att visa formuläret för nya inlägg. Problemet uppstår när formuläret ej validerar på serversidan och jag måste återgå till formuläret så att användaren kan rätta till felen. Min fråga är egentligen:
Vad ska jag skriva som return då i min savemetod?

public ActionResult Index(int page = 1)
{
    var model = new GuestbookDisplayViewModel();
    model.GuestbookItems = _moduleService.GetGuestbook();

    return View(model);
}

[ChildActionOnly]
public ActionResult Form()
{
    var model = new GuestbookEditViewModel();
    return View(model);
}

public ActionResult SaveComment(GuestbookEditViewModel model)
{
    if (ModelState.IsValid)
    {
         //Save to DB

          base.Message = "Meddelande sparat. Tack så mycket!";
          return RedirectToAction("Index");
    }

    return PartialView("Index", model);
    //return View(model);
    //return View("Form", model);
}
Medlem sedan juni 20003 076 inlägg
#2

Fixat. Jag fick returnera huvudvyn men med en bindning av gästboken på nytt.

return View("Index", BindModel());
253 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)