Safari 5.1.5缺少ASP.Net 4会话数据

时间:2012-07-26 00:31:17

标签: asp.net session safari

我在Safari 5.1.5中遇到一个奇怪的问题,我有一个使用wziard控件的ASP.NET页面(版本4)。在向导的特定步骤中我收集信息,用户需要单击链接按钮执行回发并在向导的同一步骤填充数据网格。

数据被加载到数据集中,数据绑定工作正常,信息显示在页面上。与此同时,数据集将加载到会话对象中,以便稍后在向导中使用。

当用户完成此特定步骤时,单击下一个按钮(在向导上)并执行检查以确保提供充足的信息。这是通过从会话对象中检索数据集并查询相关表来完成的。

在谷歌浏览器,IE和Opera中工作正常,数据集被检索并且数据存在。但是在Safari 5.1.5和Firefox 14中,数据集为空。所有浏览器都运行完全相同的代码。

我已经逐步完成了使用Google和Safari的代码,而在Safari中,数据集的数据表是空的,即使它用于填充数据网格。

我可能认为数据集在加载到会话对象之前已经被破坏了,但是我已经通过在分配给会话变量之后立即从会话中检索数据集然后将数据集序列化为XML来测试了这一点。 XML文件显示信息已加载到数据表和会话中。

之前有没有人见过这样的行为,或者对于从这里去哪里有任何建议。

提前致谢 格伦。

解决: 问题是Safari正在进行双重回发,第一次是正确的,但第二次使用viewstate信息进行回发,因此IsPostBack为false,会话变量再次初始化。

1 个答案:

答案 0 :(得分:0)

请检查Cookie是否已启用。由于cookies持有会话ID,您应该启用它们。

或者您可以在web config的sessionState中设置cookieless = true。