Frage

Wie zum speichern von Werten in der Sitzung mit jquery.Ich bin mit dem folgenden code

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

um die Daten von der Sitzung.Wie der umgekehrte Vorgang.

Problem:

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

Geetha

War es hilfreich?

Lösung

Sie werden wahrscheinlich brauchen, um set-up ein HTTP-handler oder etwas ähnliches, das wird die Annahme von Anfragen und die store-Sachen in der Sitzung.Visual studio hat diese irgendwo in den "Hinzufügen" - Menüs in der Lösung anzeigen.(Wenn Sie ASP.NET MVC, die Sie gerade eingerichtet haben andere Aktion, anstatt einen generischen handler.)

Da diese Werte können unterschiedliche Typen (int, string, etc.) und da Sie nicht möchten, dass böswillige Benutzer Stossen in einer Sitzung Schlüssel, den Sie sehen, passen, werden Sie wahrscheinlich wollen, richten Sie eine Filiale, um herauszufinden, was mit jeder Taste.So etwas wie dieses (innerhalb der Prozedur, die Sie erstellt haben):

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...

Nach, dass, Sie müssen ein HTTP-post-Anfrage durch jquery stellt, was auch immer die Werte, die Sie brauchen in diesen "Schlüssel" und "val" - Felder.

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

Andere Tipps

Ich überlegte mir den ganzen Tag zu Sortieren, das problem, während dies ist nur ein kurzes Update.Während PageMethod nennen, session-id wird nicht weitergegeben, mit Anforderungs-URL, also neue session_start-Ereignis wird gefeuert.Wir müssen nur die genauen Pfad der Anforderung, bevor Sie eine pagemethod, so dass neue Sitzung starten Ereignis kann nicht entlassen werden.

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);

Sie müssen eine ajax-post an den server, die über jquery.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top