javascript - session 结束时调用操作方法

标签 javascript c# asp.net-mvc session actionmethod

我想调用 LogOut 操作方法,由于 session 超时,我尚未创建该方法的 View 。

我已经为 session 超时编写了一个脚本,但我不知道如何调用操作方法,因为我拥有的所有方法(如 window.location 等)都可以定位 View 。

    <script>
            //session end

        var sessionTimeoutWarning = @Session.Timeout;

        var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000-55000;
        setTimeout('SessionEnd()', sTimeout);

    /* Here I want To call that AgentLogOut Method*/

        function SessionEnd() {
            alert("Session Is Going To End in 1 min Please Login Again1");

            window.location = "/Agent/AgentLogIn";
        }
</script>

这是我要调用的目标 Controller 操作

public ActionResult AgentLogOut()
        {
            string  SessionId = Session["LogInSession"].ToString();
            string OType = "LogOut";
            ProcedureName = "SP_Crud";
            XElement xl = new XElement("data",
                new XAttribute("otype", OType),
                new XElement("sessionId", SessionId),
                new XElement("agentIp", AgentIp)
                );
            objDal.ExecuteNonQuery(ProcedureName, CommandType.StoredProcedure, new MySqlParameter("@xml", xl.ToString()));
            Session.Clear();
            Session.Abandon();

            return RedirectToAction("AgentLogIn","Agent");
        }

我已经尝试了我所知道的所有方法。建议我如何只点击操作方法。

最佳答案

然后你可以发出一个ajax请求,例如:

function SessionEnd() 
{
    $.ajax({
    type: "post",
    url: "/Agent/AgentLogIn",
    data:{data:value},
    success:function(response){
    //do some stuff like login page redirection
    },
    error:function(){
    //do some stuff like login page redirection
    }
  });
}

关于javascript - session 结束时调用操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41954172/

相关文章:

javascript - JS/TS 中使用 async/await 的异步有界队列

javascript - IndexOf、Search 和 Contains 似乎无法在更大的字符串中找到子字符串

c# - XNA/MonoGame - 如何使用矩形作为边界框检查列表中每个对象的碰撞

jquery - 外部 javascript 不起作用,而内部 javascript 起作用

c# - 数据源上的 Kendo TreeView 同步方法不起作用

javascript - 为什么滚动条没有出现这段extjs代码?

javascript - 了解 d3.js 源代码 : stuck at function. call() 和 "=+"

c# - .NET 线程像 Node.js/V8?

c# - 如何按角色的排序顺序对员工列表进行排序?

c# - 如何在 C# 中创建键/值对数组?