在 Asp.net 3.5 中跨回发保留 100 多个值的最佳方法

Best way to persist more than 100 values across postback in Asp.net 3.5

本文关键字:方法 最佳 保留 net Asp      更新时间:2023-09-26

我正在开发一个带有 Asp.net 3.5 的应用程序。我需要从用户那里获取很多输入,包括个人信息、依赖信息、计划信息等,大约有 100 多个值。输入后,我需要将用户发送到查看页面以检查输入的数据。如果他想更改任何内容,请在第一页上再次返回以更正输入,然后转到评论页面。更正后,他可以继续保存数据。所以我想知道在回发中保留这么多数据的最佳方法是什么。

与其保留数据,不如在显示评论时放置(制作)"审阅"页面 html 并隐藏表单的第一部分。

<div id="divForm" runat="server">
    form html
</div>
<div id="divReview" runat="server">
    Review html
</div>

在代码中,当显示形式时

divForm.Visible = true;
divReview.Visible = false;

在代码 bahind 中,当显示评论时

divForm.Visible = false;
divReview.Visible = true;

有了用户提供的所有信息,我希望您将其设为HTTPS页面并且他们已登录。

Adil的回答非常好,但对于安全性和超时问题,我会增加一些复杂性,以帮助确保保存数据并且不必重新输入。

仅仅因为他们在审查之前不"保存"信息并不意味着您无法将其保存为数据库。 由于它是个人信息,因此您需要在任何错误、超时或用户未明确选择保存它的其他事件中删除条目。

建议将数据保存到数据库中,由于页面上有这么多字段,我会确保我有一个立即保存按钮,上面有披露,这样他们就知道他们可以保存他们的进度。 您可以创建一个序列化数据表或只是一个常规表,并在数据上放置时间戳,以便在一天或一周结束时清除所有未显式保存的信息。

请记住,数据库用于持久保存数据。 这包括在工作流程的所有点保存用户输入。