【问题标题】:Is it possible to check or clear session variables from an HTML page?是否可以从 HTML 页面检查或清除会话变量?
【发布时间】:2012-01-17 08:36:10
【问题描述】:
我有一个使用 Visual Basic 2008、C# 和 ASP.NET 3.5 框架的 Web 应用程序。它由五页组成:
- 索引 (Index.html)
- 关于我们 (AboutUs.html)
- 联系我们 (ContactUs.html)
- 用户登录(Login.aspx)
- 用户主页 (UserHome.aspx)
所有页面都包含一个导航到所有其他页面的菜单。
是否可以从 HTML 页面中清除会话?如果用户登录,导航到“联系我们”页面,然后从该页面注销,我如何清除会话变量?
【问题讨论】:
标签:
c#
html
asp.net
vb.net
web-applications
【解决方案1】:
不,会话是服务器端变量,不能在客户端更改。
这里有一些提示:
- 使用母版页
- 您可以使用 HttpXmlRequest 清除会话
- 将用户重定向到页面(例如 logout.aspx)及其代码
后面,在
onLoad方法里放这段代码:
Session["UserId"] = null; Response.Redirect("Index.html",true);
【解决方案2】:
你可以尝试添加类似的代码
<% Session.Abandon() %>
在您的 HTML 页面中。
这种风格称为内联 ASP .net 代码。
请注意,内联代码仍然适用于经典版本中的所有 .Net 版本事件。