将数据保留在单个重定向中

时间:2012-09-13 04:24:57

标签: asp.net webforms

用例是用户提交的表单。我想重定向它的可用性方面,同时还要显示一些反馈确认('更新成功!')或错误反馈('你吮吸,回家!')。

此数据只需要在特定用户的单个重定向中持久存在(使用Membership API)。

我不想为此设置数据库表,我也不喜欢使用会话缓存的想法。 HttpContext不起作用,但我考虑过使用Cookies。我必须小心保持4kb的限制(使用键+通用响应),但我想我会看看是否有其他方法我不考虑。

1 个答案:

答案 0 :(得分:0)

您有发布和获取数据。

使用Get完成重定向,这意味着发送数据的方式是:

  1. 仅限网址参数。
  2. 使用临时位置存储数据(如会话或数据库),并在URL参数上传递这些数据/消息的ID。
  3. 因此,如果您只展示两条消息,只是一个简单的http://example.com?msg=1,但如果您想要显示更多信息,那么您在这里没有太多选择 - 但是:

    在第一篇文章的“发布/重定向/获取”操作中,您可以做出决定 - 如果用户已正确发送了所有数据,如果一切正常,那么您可以进行重定向,并使用此重定向“只是“对用户说,这是您输入的数据,从数据库中取出,一切正常。 如果数据不正确,则不要进行重定向,留在页面上并显示有关数据的所有错误消息。

    http://www.planethost.gr/PostRedirectGet.jpg

    总而言之,只有当用户成功输入数据并且一切正常时才进行重定向,并且在重定向后,您只有一条消息显示“即可”,这是数据。

    相关: Post-Redirect-Get with ASP.NET

    <强>缓存 绝对忘记在cookie中保存消息,它们不是为此目的而制作的,它们的大小有限,cookie数据在所有调用中进行(即使在图像上),浏览器甚至可能崩溃/或使用大尺寸cookie表现奇怪