Большинство примеров ASP.NET MVC, которые я видел, изображают сценарии, в которых пользователь просматривает объект (или набор объектов), а затем переходит с этой страницы на страницу, отображает форму, которую пользователь завершает. При отправке формы с хорошим вводом пользователь перенаправляется обратно на страницу, где отображается объект (или список), и пользователь может видеть, что их изменения были успешными.ASP.NET MVC Показать конечным пользователям, что действие было успешным
Я столкнулся с сценарием, в котором нет бизнес-правил для просмотра или списка страниц.
Каковы некоторые хорошие подходы к этому сценарию в ASP.NET MVC?
В старые времена с классическим ASP и ASP.NET я обрабатывал вход, а затем показывал пользователю сообщение об успешном завершении или форму с ошибками - все с той же страницы. Похоже, что это противоречит лучшим практикам (SRP, без логики во взглядах и т. Д.).
Один простой подход - перенаправить на новую страницу, которая сообщает пользователю, что их изменения были успешными, но затем пользователь может посетить эту страницу в любое время. Если я начну вводить логику для защиты от этого (т. Е. Tempdata), решение начинает чувствовать себя грязным.
Я могу перенаправить на целевую страницу, но подтверждения нет. Может быть, я могу положиться на систему обмена сообщениями, которая показывает конечному пользователю подтверждение при возвращении на целевую страницу?
Я должен указать, что если пользователь прерывает запрос и/или быстро нажимает на другую ссылку (переходит на другую страницу), пользователь увидит ваше сообщение из TempData в неправильной и запутанной среде. Это связано с тем, что TempData будет подхвачен любым запросом первого пользователя, который попадает на сервер. – queen3