Javascript 在我的页面中使用相同的会话变量

Javascript 在我的页面中使用相同的会话变量,javascript,asp.net,asp.net-mvc,session,session-variables,Javascript,Asp.net,Asp.net Mvc,Session,Session Variables,还有一个问题,伙计们 关于会话变量。 我有一个输入字段(从我前面的一个问题可以看出) 我会在这里放一些代码,这样你们就可以看到了 function getBaseUrl() { return "@Url.Content("~/paging")"; } function LocationSearch(baseUrl) { window.location = getBaseUrl

还有一个问题,伙计们

关于会话变量。 我有一个输入字段(从我前面的一个问题可以看出) 我会在这里放一些代码,这样你们就可以看到了

   function getBaseUrl() {
                return "@Url.Content("~/paging")";
            }

            function LocationSearch(baseUrl) {
                 window.location = getBaseUrl() + "/LocationSearch?searchstring=" + (document.getElementById('vestigingen').value);
            }
这是我的javascript函数调用我的控制器函数

  <input type="text" class="search-query span3" id="vestigingen">
                  <a class="zoekbtn" href="javascript:void(0);" onclick="LocationSearch();">zoeken</a>

这两个用于将搜索字符串传递给控制器

这是我在寻呼控制器中的功能

   public ActionResult LocationSearch(int? page, string searchstring)
    {
        if (searchstring != null)
        {
            Session["location"] = searchstring;
        }
        var searchVestigingen = ziekenhuisRepository.GetZiekenhuisList();  //sloppy! get rid of implicity 
        int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
        try
        {
            if (char.IsDigit(Session["location"].ToString(), 0))
            {
                searchVestigingen = ziekenhuisRepository.FindZipcodeVestigingen(Session["location"].ToString());
            }
            else
            {
                searchVestigingen = ziekenhuisRepository.FindLocationVestigingen(Session["location"].ToString());
            }
            if (searchVestigingen.Count() <= 0)
            {
                return View("NoResults");
            }
        }
        catch (Exception)
        {
            return View("NoResults");                
        }

        return View(searchVestigingen.ToPagedList(currentPageIndex, DefaultPageSize));
    }





 public ActionResult ListSearch(int? page, string searchstring)
    {
        if (searchstring != null)
        {
            Session["location"] = searchstring;
        }
      do stuff
     return View(etc. etc. )
    }
public ActionResult LocationSearch(int?页,字符串searchstring)
{
if(searchstring!=null)
{
会话[“位置”]=搜索字符串;
}
var searchVestigingen=ziekenhuisrespository.GetZiekenhuisList();//邋遢!摆脱隐式
int currentPageIndex=page.HasValue?page.Value-1:0;
尝试
{
if(char.IsDigit(会话[“位置”].ToString(),0))
{
searchVestigingen=ziekenhuisrespository.FindZipcodeVestigingen(会话[“位置].ToString());
}
其他的
{
searchVestigingen=ziekenhuisrespository.FindLocationVestigingen(Session[“location”].ToString());
}

如果(searchVestigingen.Count()会话对象类似于特定用户和会话的全局引用。可以随意使用它,只需从项目中的任何位置调用
Session[“location”]
。您是否尝试过它,但它不起作用,或者您只是对安全性不确定

您可能需要这样称呼它:

var location = System.Web.HttpContext.Current.Session["location"].ToString();  

如果用户关闭浏览器,会话变量将为空也可能是好的。除非您将其保存在客户端或某种数据库中。

会话在设计上可用于整个应用程序。无论您在哪个页面上,您都以相同的方式访问它

因此,您可以在一个类或方法中设置值:

Session["location"] = searchstring;
然后从另一个类或方法访问它:

searchstring = (string)Session["location"];

有关更多信息,请参阅。

您的会话不应发生任何更改,它被设计为可供多个页面使用。请原谅我的无知,但假设我在Los Angeles键入它做它应该做的事情,分页工作,如何在我的其他函数中获得相同的会话变量。我是否应该对它进行某种引用?