Как предоставить пользователю действие «успех» в ASP.NET MVC? - PullRequest
5 голосов
/ 03 апреля 2009

Допустим, у нас есть окно редактирования для редактирования наших данных, и мы хотим, чтобы пользователь знал результат их редактирования, т.е. чтобы подтвердить, что он действительно был успешно сохранен в модели.

Одним из решений является назначение сообщения ViewData в методе действия Edit Controller, а затем использование View для отображения сообщения обратно пользователю.

например. В методе действия Изменить контроллер:

ViewData["EditResult"] = "All is well in the world.";

... и где-то в представлении:

<%= ViewData["EditResult"] %>

Это приятно и просто, но является ли это лучшим способом обеспечить обратную связь от контроллера к View? Каковы некоторые другие альтернативы, так как мне кажется, что мы помещаем вещи типа представления в Контроллер как пограничные.

Ответы [ 2 ]

2 голосов
/ 03 апреля 2009

Очень простой подход - передать некоторый логический или другой флаг состояния представлению как часть данных модели; затем представление может отобразить эту информацию так, как считает нужным.

В качестве альтернативы вы можете рассмотреть возможность использования отдельных представлений для успеха или неудачи, поскольку в каждом случае вы вполне можете воспроизводить совершенно разный контент.

0 голосов
/ 03 апреля 2009

Обычно у меня есть действие Показать, которое отображает состояние конкретной модели. После успешного обновления я перенаправлю на действие Показать для этого конкретного экземпляра модели и выведу обновленную информацию. Обратите внимание, что сообщения об успехе нет, но изменения отражаются в обновленном состоянии модели. Это то, что я обычно пытаюсь сделать: показать пользователю результат их действия, а не сообщение, указывающее, что действие было успешным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...