Member 11781455 Ответов: 2

Вызов метода C# из js


При закрытии браузера нужно вызвать метод на языке c#. Или нужно сбросить ISconnected до нуля в таблице DB

Что я уже пробовал:

JS 

<pre>    window.onbeforeunload = function (e) {
// Your logic to prepare for 'Stay on this Page' goes here 
if((window.event.clientX<0) || (window.event.clientY<0))
    {
      UpdateLoginPassword();
    }
};



С#

public void UpdateLoginPassword(object sender, EventArgs e)
    {
            //To update Isconnetedflag flag to 0
            Quadra.Suite.Essential.UserManagement.ISYSUserService SYSUserService = serviceUtil.GetServiceProxy<Quadra.Suite.Essential.UserManagement.ISYSUserService>();
            SYSUserService.UpdateIsConnected(Convert.ToInt16(LOGIN_DETAILS.LoginUserID));
    }

F-ES Sitecore

Вы не знаете, когда браузер закрыт, и что делать, если я не закрою его, а переведу свою машину в спящий режим или просто оставлю ее открытой на 3 дня? Сеть не имеет состояния, и вы должны создавать свои сайты так, чтобы они подчинялись этому и сами не имели состояния. Вы никогда не узнаете, есть ли там пользователь или нет.

2 Ответов

Рейтинг:
6

Zunayed Shahriar

См. первый и проверенный ответ.

Источник: как вызвать Ан ASP.NET метод c# с использованием javascript-Stack Overflow


Рейтинг:
14

Kats2512

вы можете сделать это с помощью ajax, который вызывает веб-службу или функцию веб-api.

<script type="text/javascript">


<pre>if((window.event.clientX<0) || (window.event.clientY<0))
    {
$.ajax({
         type: "POST",
         url: 'YOURWEBSERVICENAMEHERE.asmx/UpdateLoginPassword',
         data: "",
         contentType: "application/json; charset=utf-8",
         dataType: "json",
         success: function (msg) {
              alert('success');
         },
         error: function (e) {
              alert('fail');
         }
       });
    }
};
</script>