我见过的大多数ASP.NET MVC示例都描述了用户正在查看对象(或对象集合)然后从该页面移动到该页面的场景显示用户完成的表单。在提交具有良好输入的表单后,用户将重定向回显示对象(或列表)的页面,并且用户可以看到他们的更改已成功。ASP.NET MVC向最终用户展示该操作已成功
我遇到了每个业务规则都没有视图或列表页面的场景。
在ASP.NET MVC中,这种情况有哪些好方法?
在传统的ASP和ASP.NET的旧时代,我会处理输入,然后向用户显示成功消息或带有错误的表单 - 全部来自同一页面。这看起来不符合最佳实践(SRP,视图中没有逻辑等)。
一个简单的方法是重定向到一个新页面,告诉用户他们的更改是成功的,但随后用户可以随时访问该页面。如果我开始采用逻辑来防止这种情况发生(即tempdata),那么解决方案就会变得很脏。
我可以重定向到目标网页,但没有确认。也许我可以依靠一个消息系统,当他们返回目标页面时向最终用户显示确认信息?
,如果用户中止请求和/或快速点击另一个链接(导航到另一个页面),则用户将在不正确和令人困惑的环境中看到来自TempData的消息。这是因为TempData会被任何第一个用户的请求发送到服务器。 – queen3 2010-10-05 14:36:01