Частичные представления ASP.Net MVC сохраняют свое модельное состояние?
Это, вероятно, снова вопрос новичка.
Когда я создаю приложение ASP.NET MVC2, создается Account Controller с Action LogIn, например:
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Теперь я не хочу иметь страницу входа, я хочу иметь элементы управления входом как часть более крупной страницы. Итак, я изменил Login.aspx на Login.ascx и интегрирую его в свой основной вид либо с Html.RenderPartial, либо с Html.RenderAction.
И то и другое работает как шарм, если логин успешен. Если это не так,
return View(model)
убивает меня Я хочу вернуться на мою главную страницу (назовите ее Home / Index), но с информацией об ошибке частичного просмотра.
return RedirectToAction("Index", "Home")
Очевидно, не работает.
Советы?