Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关闭浏览器asp.net时如何删除sql数据库中的数据_Asp.net_Vb.net - Fatal编程技术网

关闭浏览器asp.net时如何删除sql数据库中的数据

关闭浏览器asp.net时如何删除sql数据库中的数据,asp.net,vb.net,Asp.net,Vb.net,我是新来的,可能知道在asp.net中关闭浏览器时如何删除数据库中的数据?示例:当用户关闭浏览器时,希望在SQL server上自动删除某些记录。是否可能 home.aspx <script type="text/javascript"> $(function () { $(window).unload(function () { $.aja(angry) {

我是新来的,可能知道在asp.net中关闭浏览器时如何删除数据库中的数据?示例:当用户关闭浏览器时,希望在SQL server上自动删除某些记录。是否可能

home.aspx

 <script type="text/javascript">
        $(function () {
            $(window).unload(function () {
                $.aja(angry)
                    {
                        type:"Post",
                        url:"logout.aspx",
                    })
                });
        });
    </script>

首先,这确实是一个糟糕的方法,其次,它不会起作用。关闭浏览器后,网页无法往返到服务器并请求运行sql查询。您最多可以在客户端处理一些浏览器事件和一些清理。你能详细介绍一下你想要达到的目标吗?看看代码,我建议,当用户从站点注销时,您可以执行“删除”,或者您可以将用户会话存储在数据库中,或者创建一些服务器端作业,如果用户不活动,这些作业将清理数据。有意义吗?

那么,当你尝试时会发生什么?当我关闭浏览器时,数据仍然存在。它不会删除sql server上的数据。不确定这是否是问题所在,但可能值得尝试GET而不是POST。我只是不记得在帖子中是否调用了Page_Load方法。可能是的,但还是值得一试。您应该调试一下,看看代码中哪里出了问题。您的Ajax调用正在执行吗?是否调用了服务器端页面加载方法?“卸载事件的确切处理方式因浏览器版本而异。例如,某些版本的Firefox在跟随链接时触发事件,但在关闭窗口时不会触发。在实际使用中,应该在所有受支持的浏览器上测试行为,并与专有的beforeunload事件进行对比。“我已经在注销时实现了删除功能。我想要实现这一点的原因是使用表存储用户ID。为了防止使用同一id多次登录,为什么不捕获浏览器关闭事件并将用户重定向到注销页面?可以告诉我怎么做吗?关闭的浏览器还可以重定向吗?
 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


    Dim myDataReader As SqlDataReader
    Dim mySQL As String
    Dim myComm As SqlCommand
    Dim myConn As SqlConnection

    mySQL = "Delete from dbo.CheckLogin where @UserId = UserId"
    myConn = New SqlConnection(ConfigurationManager.AppSettings(Session("ConnString")))
    myConn.Open()

    myComm = New SqlCommand(mySQL, myConn)
    myComm.Parameters.AddWithValue("@UserId", Session("loginid"))
    myDataReader = myComm.ExecuteReader()

    WelMsg.Text = ""
    Session.Clear()






End Sub