当我登录并签入时间时,时间通过存储过程插入到数据库字段中。但是当我注销或关闭浏览器结帐时间时未插入(因为不处理此问题)并且当我再次登录时,该字段仍处于选中状态而不是结帐状态。我怎么能在asp.net中处理这个?当我注销或关闭浏览器时,我想现在自动插入日期时间。
单击结帐链接时会插入结帐时间,但我希望在会话到期或浏览器关闭时插入结帐时间。
当我登录并签入时间时,时间通过存储过程插入到数据库字段中。但是当我注销或关闭浏览器结帐时间时未插入(因为不处理此问题)并且当我再次登录时,该字段仍处于选中状态而不是结帐状态。我怎么能在asp.net中处理这个?当我注销或关闭浏览器时,我想现在自动插入日期时间。
单击结帐链接时会插入结帐时间,但我希望在会话到期或浏览器关闭时插入结帐时间。
听起来你有两个问题:
当用户单击时,如何将日期时间现在插入数据库Check Out
?
将该
DateTime.Now
值用作将检出值插入数据库表的存储过程的参数。
如何处理用户单击Check Out
或关闭浏览器?
要处理用户点击Check Out
,只需将点击事件处理程序附加到服务器控件(即属性),如下所示LinkButton
:OnClick
<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