繁体   English   中英

将数据发布到不同的ASP.NET WebForm

[英]Post data to different ASP.NET WebForm

在我的ASP.NET WebForms应用程序中,我有一个WebForm,其中包含UpdatePanel和用于向导之类的向导的多个视图。

在向导的最后,用户可以通过单击按钮来选择移至另一页。 这个新网页需要上一页控件中的约5个值。

最简单的方法是什么? (编辑:仅对数据使用HTTP POST-这是一项要求,因为否则我将使用数据库/会话)

我尝试使用跨页发布没有运气,可能是因为我的更新面板和多个视图?

我尝试使用Server.Transfer,但这也由于更新面板而中断。

重要:

  1. 数据必须通过HTTP POST发送-数据无法存储在任何地方
  2. 该方案无法更改。 我不能将所有内容都放在同一页面上

最简单的方法是将这些值放在会话对象中。

您可以创建一个类来描述需要在重定向页面上显示的数据。 在用户填写向导数据时,将其实例化,使用所需的信息填充新类的对象,然后将其添加到button_Click事件中的会话中,然后进行页面重定向。 在您重定向到的页面上,获取Session对象,将其放入变量中并提取所需的数据。

如果他们要移至解决方案中的另一页,则有几种选择。

  1. ViewState -ViewState与页面传递一起发送。 它位于HTML中,但已加密,因此没有人可以看到该信息。 根据信息的大小,您的页面大小可能会变得很大。
  2. 会话 -通过cookie将信息放入客户端。
  3. 查询字符串 -使用URI。 仅当它是非敏感信息并且您不希望用户能够再次链接回同一操作时,才应使用此选项。

我建议您将所有相关页面合并为一个页面。 隐藏不在游戏中的面板。 ASP.NET将始终为您维护所有控件的值。 Viewstate专为您描述的风景而设计。 为了使Viewstate的大小最小,请确保在其“ Init”方法中填充下拉控件的查找值。

您不想使用会话状态。 您想要的最后一件事是让用户从上一页中删除数据,因为他们花了很长时间回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM