如何使用jquery值存储在会话。 我使用下面的代码

var Link = '<%=Session["Link"]%>';

以从会话获取数据。如何做的逆过程。

问题:

 I need this in my master page. so i cant use .ajax{}.

格塔

有帮助吗?

解决方案

您可能需要建立一个 HTTP处理程序或东西类似的,将接受该会话请求和店里的东西。 Visual Studio中有这样的地方在解决方案视图中的“添加”菜单。 (如果您使用ASP.NET MVC,你刚刚成立另一个动作,而不是一般的处理程序。)

由于这些值将可能有不同的类型(int,字符串等)的的,因为你不希望恶意用户戳到他们认为合适的任何会话密钥,你可能会想集设立了分公司,以决定如何处理每一个键做。像这样的东西(您创建的处理程序中):

string key = context.Request.QueryString["key"].ToString();
string val = context.Request.QueryString["val"].ToString();
if(key == "AshDiffuserID"){
  int ash_diffuser_id = Convert.ToInt32(val);
  Session["AshDiffuserID"] = ash_diffuser_id;
}
else if(key == "PesterchumHandle") {
  string handle = val;
  Session["PesterchumHandle"] = handle;
} else // etc...

在这之后,你需要通过jQuery的,要建立一个后的HTTP请求看跌期权的任何值,你需要在这些“重点”和“val”域。

$.post(
  'url/to/your/handler.ashx',
  {key: "PesterchumHandle", val: "carcinoGenetecist"}
); 

其他提示

我浪费了我整整一天,而这仅仅是一个快速解决排序这个问题。在PageMethod的呼叫,会话ID没有被通过与请求的URL,所以新的session_start事件被解雇。我们只需要调用PageMethod的前设置准确的请求路径,使新的会话开始事件不能被解雇。

if ('<%= HttpContext.Current.Session.IsCookieless %>==True') {
//need to pass session id in request path
PageMethods.set_path('<%= System.Web.Configuration.WebConfigurationManager.AppSettings("WebRoot") %>(S(<%=Session.SessionID%>))/secure/PageName.aspx');
}
PageMethods.PageMethodName(param1,param2, CallSuccess, CallFailed);

您需要做一个ajax后通过jQuery的服务器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top