如何在MVC中从javascript调用服务器端函数

How to call a server-side function from javascript in MVC?

本文关键字:调用 服务器端 函数 javascript 中从 MVC      更新时间:2023-09-26

我正在修改我的MVC应用程序,以禁止用户在单个会话中打开多个选项卡/窗口。为了做到这一点,我参考了这篇文章(点击这里)。本文是为asp.net编写的,而我需要为ASP实现此功能。净MVC。我认为这一切都应该是可能的MVC,然而,我不确定我应该做什么来重写这个

if(window.name != "<%=GetWindowName()%>")

GetWindowName()是我在控制器中创建的一个函数,它从会话对象返回"WindowName"键的值。我如何在上面的javascript读取其值?

您可以为此编写一个控制器方法:

public ActionResult GetWindowName()
{
  Session["WindowName"] = 
    Guid.NewGuid().ToString().Replace("-", "");
  return Json(Session["WindowName"].ToString());
}

然后通过ajax调用:

$.get('@Url.Action("GetWindowName")', function(data){
    if(window.name != data) {
        // do what you need to do here
    }
})

你可以使用ajax (jQuery):

$.get('@Url.Action("GetWindowName")', function(result){
    if(window.name != result)
    //...
});