0

当我登录并签入时间时,时间通过存储过程插入到数据库字段中。但是当我注销或关闭浏览器结帐时间时未插入(因为不处理此问题)并且当我再次登录时,该字段仍处于选中状态而不是结帐状态。我怎么能在asp.net中处理这个?当我注销或关闭浏览器时,我想现在自动插入日期时间。 在此处输入图像描述

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

4

1 回答 1

0

听起来你有两个问题:

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

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

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

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

    <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
    

    要处理关闭浏览器的用户,因为这是一个客户端事件,您可以使用 JavaScript/jQuery 或unload事件,但是像在 Asp.net 上检测浏览器关闭这样的解决方案有其自身的缺点和问题。最安全的方法是在 中处理Session_End事件global.asax,如下所示:

    Sub Session_End(Object sender, EventArgs E)
        ' Call stored procedure and send DateTime.Now as check out value
    End Sub
    
于 2013-10-08T14:33:09.157 回答