【问题标题】:Passing XML between asp.net pages在 asp.net 页面之间传递 XML
【发布时间】:2014-06-05 20:33:49
【问题描述】:

我得到一个 XML 作为字节数组,我想做的是在顺序页面之间传递它。基本上在我收到的 XML 中,它包含供用户选择的问题和答案选项。这通常用于确认用户的身份。

基本上是这样的:

<questions>
 <question>
   <prompt>In which city is Fresno street?</prompt>
   <type>city.of.residence</type>
   <answer>HILLSIDE</answer>
   <answer>ATLANTA</answer>
   <answer>ALMO</answer>
   <answer>None of the above</answer>
 </question>
 <question>
   <prompt>In which state is Fresno street?</prompt>
   <type>city.of.residence</type>
   <answer>HILLSIDE</answer>
   <answer>ATLANTA</answer>
   <answer>ALMO</answer>
   <answer>None of the above</answer>
 </question>
</questions>

我的一般任务是,在第一页加载时,通过 HTTP Post 检索此 XML,然后显示第一个问题和答案,在用户选择答案后,他们点击“下一步”按钮,下一个问题将从 xml 中出现供用户回答。

挑战在于,如何保持此 XML 持久化,以便跨多个页面对其进行处理?存储他们选择的答案也是如此。当他们完成测验后,我需要在另一个 HTTP Post 中发回问题类型和答案,因此我需要跟踪用户选择的答案。

我是 asp.net 开发的新手,从我的研究中发现了一些想法,但没有一个对我的场景很实用。

会话变量听起来几乎可以工作,但是我们的 Web 应用程序有一个超时期限,因此变量最终会丢失,并且我们有多个 Web 服务器。 XML 中的数据可能是机密的,如果不认为使用隐藏字段来存储值的想法可行,或者是吗?那么这基本上让我不得不使用数据库吗?对我来说唯一的缺点是我需要为每个页面请求执行持续的读/写事务。

你们有没有更好的方法,或者我是否坚持使用上述选项之一?提前感谢您的见解。

【问题讨论】:

标签: asp.net xml


【解决方案1】:

您可以将其存储在每个用户的会话中,这在页面之间是安全且持久的(尽管在访问之间不一定长时间持久,因为会话可能会过期或网站可能会重置。

WebForms 的 ASP.Net 会话简介

对于长期但仍是临时的持久性,将会话状态存储在 SQL Server 中,using the state server

为了永久保持,您需要以某种方式将 XML 写入磁盘 - 最简单的方法可能是在问题集得到完全回答后将其存储在 SQL Server 中的 XML 字段中。

【讨论】:

    【解决方案2】:

    这里的帖子描述了在页面之间传递数据的 6 种方法。

    http://dotnetslackers.com/Community/blogs/haissam/archive/2007/11/26/ways-to-pass-data-between-webforms.aspx

    某些方法需要您将 xml 转换为字符串。

    【讨论】:

      猜你喜欢
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2013-05-16
      • 1970-01-01
      相关资源
      最近更新 更多