使用jQuery在asp.net会话存储值
-
22-09-2019 - |
题
如何使用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的服务器。
不隶属于 StackOverflow