当会话过期或浏览器关闭时,立即在db字段中插入日期时间

时间:2013-10-08 14:04:10

标签: asp.net vb.net sql-server-2008

当我登录并检查时间时,通过存储过程将时间插入到db字段中。但是当我注销或关闭未插入的浏览器结帐时间(因为没有处理这个)时,当我再次登录时,字段保持选中状态,而不是结帐。我怎么能在asp.net中处理这个?当我注销或关闭浏览器时,我想自动插入日期时间。 enter image description here

单击结帐链接时会插入结账时间,但我希望在会话到期或浏览器关闭时插入结帐时间。

1 个答案:

答案 0 :(得分:0)

听起来你有两个问题:

  1. 当用户点击Check Out时,如何将日期时间插入数据库?

      

    使用DateTime.Now值作为存储过程的参数,将检出值插入数据库表。

  2. 如何处理用户点击Check Out或关闭浏览器?

    要处理用户点击Check Out,只需将点击事件处理程序附加到服务器控件(即LinkButton的{​​{1}}属性),如下所示:

    OnClick

    要处理关闭浏览器的用户,因为这是一个客户端事件,您可以使用JavaScript / jQuery或<asp:LinkButton id="LinkButton1" Text="Check Out" OnClick="LinkButton1_Click" runat="server"/> Sub LinkButton1_Click(sender As Object, e As EventArgs) ' Call stored procedure and send DateTime.Now as check out value End Sub 事件,但像Detect Browser Close on Asp.net这样的解决方案有其自身的缺点和问题。最安全的方法是处理unload中的Session_End事件,如下所示:

    global.asax