【问题标题】:asp cancel button clear session variablesasp取消按钮清除会话变量
【发布时间】:2013-07-02 19:29:25
【问题描述】:

我发现了这个: “我使用 session.abandon 创建了一个页面,并让提交按钮调用它并重定向回当前页面。有效。” 在这个网址上: Session clear and page refresh

使用经典 ASP,我有一个 .asp 页面/表单,用于使用电子邮件地址进行备用登录并回答“秘密问题”。如果有人输入电子邮件地址并单击“提交”,我会从数据库中检索“秘密问题”。我将地址和问题都存储在会话变量中。

在第 2 步中,系统会提示此人输入问题的“答案”并再次提交。所有这一切都很好。登录成功……生活真美好!

如果此人出于某种原因决定停止而不输入答案(实际上是放弃登录),会话变量将保留。

我一直在努力寻找一种方法(在我有限的编码能力范围内)来清除这些特定的会话变量。我知道清除单个(或所有)会话变量的语法。我只是不知道如何“触发”(即“执行”)Session.RemoveAll。顶部的引用和 URL 表明有人知道如何做到这一点......但他没有说他是如何做到的,以便我可以复制该过程。

任何人都可以指导我处理这个吗?谢谢。

【问题讨论】:

    标签: asp-classic


    【解决方案1】:

    无论何时服务器设置为认为会话已被放弃(通常为 10 到 20 分钟),会话变量都会自行清除。你有两个选择:

    • 您可以缩短服务器上的会话超时时间,但如果您的网站有长时间不活动的自然位置,则会导致问题。
    • 您可以使用Session.Timeout 来调整该一页的超时时间。

    如果他们真的放弃了会话——他们没有执行任何操作——那么就没有什么可以附加触发器了。您问题顶部的位是在提交时运行Session.Abandon - 与您描述的情况不同。

    【讨论】:

    • 感谢您的回复。我知道“正常”会话超时。不知道我可以为页面设置超时。我可能会走那条路。我希望有一种方法可以通过单击按钮来“运行” Session("xxx") = ""。再次感谢您提供的信息。
    • Session.Timeout 似乎是最简单的路线。我想我会尝试使用 GIF(“Cancel.gif”)作为到 asp 页面的超链接的一部分。该页面将仅包含将会话变量设置为 Null 和重定向回超链接页面的几行。这很容易做到......我会看看它是否有效并消除超时时间。再次感谢@anonJr
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2014-12-26
    • 2013-04-16
    • 1970-01-01
    相关资源
    最近更新 更多