当我登录并检查时间时,通过存储过程将时间插入到db字段中。但是当我注销或关闭未插入的浏览器结帐时间(因为没有处理这个)时,当我再次登录时,字段保持选中状态,而不是结帐。我怎么能在asp.net中处理这个?当我注销或关闭浏览器时,我想自动插入日期时间。
单击结帐链接时会插入结账时间,但我希望在会话到期或浏览器关闭时插入结帐时间。
答案 0 :(得分:0)
听起来你有两个问题:
当用户点击Check Out
时,如何将日期时间插入数据库?
使用
DateTime.Now
值作为存储过程的参数,将检出值插入数据库表。
如何处理用户点击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