webForumDet fria alternativet

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

.NET

1 svar · 1 346 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#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());
267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)