【问题标题】:Strange basket session state issues奇怪的篮子会话状态问题
【发布时间】:2013-01-16 16:21:46
【问题描述】:
我们的结帐流程遇到了一个奇怪的问题。可以这么说:-
- 用户将一些产品添加到他们的购物篮中
- 点击查看购物篮,然后删除这些产品然后使用浏览器
- 然后他们将另一个产品添加到
篮子,这会导致整个网站的布局崩溃,
就好像加载菜单或产品列表的代码都不是
被解雇,例如
我认为这可能与我们在篮子上使用 AJAX 有关,所以我尝试了发布 here 的建议,在页面中添加一个隐藏的表单元素,这实际上解决了 chrome 中的问题,但在 Firefox 中,页面卡在了无限中循环,
有没有人遇到过用户导航回之前状态的类似问题?我完全不知道接下来要尝试什么
感谢您的帮助
【问题讨论】:
标签:
c#
asp.net
ajax
session
【解决方案1】:
好吧,我设法解决了这个问题。问题是,当用户通过历史导航回到前一个产品页面时,它被视为回发,因此没有任何用于填充页面控件的代码被触发,因为它位于 !Page.IsPostBack 块内。 ..
由于我找不到更好的方法来确定页面何时损坏,我只是在导航选项卡中阅读并检查它们是否为空,这表明页面未正确加载,然后我们刷新,例如
<script type="text/javascript">
$(function() {
$("#tabs-nav ul li").each(function() {
if (!$(this).children().text() || /^\s*$/.test($(this).children().text())) {
location.reload();
}
});
});
</script>
它不漂亮,但它可以工作
谢谢