Nir*_*man 3 javascript asp.net-mvc asp.net-mvc-3
我正在对我的 MVC 应用程序进行修改,以禁止用户在单个会话中打开多个选项卡/窗口。为了做到这一点,我正在参考这篇文章(点击此处) 。本文是为 ASP.NET 编写的,而我需要为 ASP.NET MVC 实现此功能。我认为这一切在 MVC 中应该是可能的,但是,我不确定我应该做什么来重写这个
if(window.name != "<%=GetWindowName()%>")
Run Code Online (Sandbox Code Playgroud)
GetWindowName() 是我在控制器中创建的函数,它从 Session 对象返回“WindowName”键的值。我怎样才能在上面的javascript中读取它的值?
您可以为此编写一个控制器方法:
public ActionResult GetWindowName()
{
Session["WindowName"] =
Guid.NewGuid().ToString().Replace("-", "");
return Json(Session["WindowName"].ToString());
}
Run Code Online (Sandbox Code Playgroud)
然后通过ajax调用:
$.get('@Url.Action("GetWindowName")', function(data){
if(window.name != data) {
// do what you need to do here
}
})
Run Code Online (Sandbox Code Playgroud)