Mar*_*ark 8 asp.net google-chrome session-variables
在页面加载的我的asp.net Web应用程序中,我抓取当前页面URL并将其存储在会话变量中以跟踪用户所在的页面,以便他们进入管理区域时可以返回到它,执行一些导航等.然后,他们可以单击返回按钮,并在进入管理员之前进入他们所在的页面.
这一切都适用于IE8; 但是在FF和Chrome中,当在管理员中时,返回链接会重定向到我为Web应用程序设置的自定义404页面.
出于测试目的,我使用我的页面加载事件添加了下面编写的代码:
Response.Write((string)Session["navurl"]);// displays "http://somedomain.com/customerror/default.aspx"
Session["navurl"] = currentUrl;//ex. currentUrl = "http://somedomain.com/contact/"
Response.Write((string)Session["navurl"]);//ex. currentUrl = "http://somedomain.com/contact/"
Run Code Online (Sandbox Code Playgroud)
再次,这在IE中没有问题,但在页面加载的FF和Chrome中,会话变量显示404页面链接,并在设置后显示正确的链接.我用fiddler看看发生了什么,Chrome在favicon.ico文件的GET标题中抛出404,我在这个网络应用程序中没有使用它.
我添加了faviocon文件和site.master文件头部的链接,Chrome和FF现在工作正常; 我仍然不确定为什么会这样.任何人都有想法为什么或如何我的会话变量被Chrome或FF覆盖?
作为旁注,我已通过流程调试步骤,currentUrl是正确的URL.
当您访问管理员时,您是否保留会话?使用 Fiddler 您是否看到过对您的页面的另一个请求?查找带有 src="" 或 iframe 的图像标签。
您必须在每个前端页面上设置会话变量,但是,您永远不能在管理页面上设置它,只能构建“后退”链接。如果您使用 Global.asax 事件,请注意避免在提供管理页面时更改 var。
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |