2014-02-19 9 views
-1

Я новичок в MVC, и я пытаюсь понять метод представления сообщений пользователю после успеха или неудачи, например, формы. Скажем, у меня есть функция сообщения, подобная приведенной ниже, где моя цель состояла в том, чтобы представить частичный вид, но, видимо, это не сработало так, как я думал. Любые указатели на то, как я могу показать частичное представление после успешной отправки формы? Когда вы делаете это, как в приведенном ниже коде, я, конечно, перенаправляюсь к частичным представлениям, а не просто показываю их в текущем представлении, что и было то, что я хочу.Показать сообщение об успешном завершении

[HttpPost] 
    public ActionResult Test(bool succeeded) 
    { 
     if (succeeded) 
     { 
      ViewBag.SuccessMessage = "Success!"; 
      return View("_SuccessMessage"); 
     } 

     else 
     { 
      ViewBag.SuccessMessage = "Error!"; 
      return View("_ErrorMessage"); 
     } 
    } 

ответ

1

Если вы хотите, чтобы остаться на том же зрения просто возвращает текущий вид и установить некоторый флаг на вашей модели или динамический ViewBag, что запрос является успех или ошибка. Чем, на ваш взгляд, вы можете включить _ErrorMessage или _SuccessMessage на основе этого флага, и если этот флаг не установлен, просто не выделяйте ни одну из этих партиций. Также, если вам нужно перенаправить на другое представление и показать там успех/ошибку, вы можете использовать коллекцию TempData.

+0

Да, это то, что я тоже понял. Просто кажется, что так странно проходить вокруг booleans ... – vsdev

+1

Вы можете передать свое частичное имя вида и использовать его в методе RenderPartial. Поэтому, если нет частичного имени представления, ничего не отображайте, иначе просто вызовите RenderPartial (ViewBag.StatusMessageView). – milagvoniduak

Смежные вопросы