你用C#输出<% = PageOut() %>和<% = SignOut() %>
得时候实际上已经把这2个函数执行了一遍
你试着把这2个函数得代码嵌入javascript代码中~就是你写<% = SignOut() %>得位子

解决方案 »

  1.   

    当onunload时打开一个新页面,把event.clientX和event.clientY的值传过去,然后由新页面判断执行哪个函数
      

  2.   

    顺便问一句你写没有用codebehind?
    个人觉得用了codebehind后感觉javascript在asp.net中得应用没有原来asp当中得应用那么广了
      

  3.   

    肯定要用Codebehind啊,我是要实现用户关闭窗口就将他从在线用户表中删除这个功能
      

  4.   

    <%%>的程序是在服务器端执行的,再把结果显示在客户端上,它的执行不受客户端控制,这点要搞清楚。
    不打开新窗口的办法我不知道,等等看高手有没有好主意
      

  5.   

    其实我想做的是在线用户的问题
    我在数据库中建了UserOnline和UserOnlinePage表,用户登录后将此SessionID和UserID加入到UserOnline表,
    然后用户每进入一个页面就将此页面加入到UserOnlinePage中,离开时就删除此记录,当删除最后一个页面的时候,就说明此用户已经离开此站点,将它从UserOnline表中删除除了每次新开一个页面之外,有没有什么别的好办法
    如果这样做的话,每离开一个页面都会有新的页面弹出,用户很反感这样做的
      

  6.   

    <body onunload="unloadme();">
    这里去掉~~~
    然后将数据库操作代码直接写在事件中去~~~忘了叫什么了~~~
    好象是PageLoad和Unload吧~~~.net的架构核心在服务器端,当用户访问页面时会触发一个服务器事件~~关掉浏览器也会触发一个服务器事件~~~不用你再手工去添加<body onunload="unloadme();">这样的客户端事件触发代码~~
      

  7.   

    刚查了一下资料~~private void Page_Load(object sender, System.EventArgs e)
    private void WebForm1_Unload(object sender, System.EventArgs e)
      

  8.   

    大懒猫,你这个方法是行不通的,Http协议是无状态的,用户在关闭浏览器时,不会触发服务器端的代码。况且Page_Unload是在页面从内存清除时发生的事件,而不是离开当前页面时触发的事件。也就是说每一次页面刷新都会触发Unload事件
      

  9.   

    to xinshaw(清瘦卫郎)呵,虽然HTTP是无状态的,但是。NET中依然可以触发这两个事件~~~~如果有问题,你可以去.net专版问问清楚就知道了~~unload当然会在刷新页面的时候触发。因为刷新页面实际上是对当前页面unload,然后从新申请一个当前页面。Understand?别跟我说不行~~因为我就是这么做的~~~做页面访问统计,你还不如用session_start~