Wie man session-Wert mit javascript

Habe ich eine Klasse zum Umgang mit session-Variablen. Hier ist ein Beispiel angebracht:

namespace General
{

    public class Session
    {
        public Session()
        {
        }


        public static string UserID
        {
            get { return HttpContext.Current.Session["UserID"] as string ?? String.Empty; }
            set { HttpContext.Current.Session["UserID"] = value;  }
        }

        public static string departFlightID
        {
            get { return HttpContext.Current.Session["departFlightID"] as string ?? String.Empty; }
            set { HttpContext.Current.Session["departFlightID"] = value; }
        }

        public static string returnFlightID
        {
            get { return HttpContext.Current.Session["returnFlightID"] as string ?? String.Empty; }
            set { HttpContext.Current.Session["returnFlightID"] = value; }
        }
}

}

Irgendwann Speicher ich die flightID in:

General.Session.departFlightID = flightID;

Und an einer anderen Stelle will ich das abrufen dieser Wert mit Javascript. Ich habe schon Beispiele gesehen, hier aber Sie wird nicht funktionieren (es gibt keine Fehler, aber Sie werden zurück EMPTY).

Jüngsten versucht:

 var session = '<%= General.Session.departFlightID %>';
 var session = '<%= HttpContext.Current.Session["departFlightID"] %>';

Es funktioniert, wenn ich den Wert beim laden der Seite, aber ich bin mit einem webmethod-wo ich erstellen Sie eine html-und dann senden Sie das html wieder aufgefüllt werden innerhalb eines div zu machen, ein ticket gibt. Ich brauche, um den session-Wert, aber es aktualisiert nicht.

Zu machen, mehr klar hier ist der Javascript-code:

<script type="text/javascript">


function addTicket(flightID, flightType) {
    PageMethods.addTicket(flightID, flightType, OnGetMessageSuccess);
}

function OnGetMessageSuccess(result, userContext, methodName) {

    var pageUrl = document.URL;
    if (pageUrl.indexOf("&ret_date=&") !== -1) {

        var session = '<%= HttpContext.Current.Session["departFlightID"] %>';

        alert(session);
        result = result + "<a onclick=\"searchflight.abortAllAjax()\" data-index=\"6\" class=\"bookNow\" title=\"Book Now!\" href=\"#\">Book Now!</a>";
        result = result + "</div>    </div>  </div>";
        document.getElementById("detail").innerHTML = result;
    }

}

Und hier ist das webmethod:

[System.Web.Services.WebMethod]
    public static string addTicket(string flightID, string flightType)
    {
        //GET FLIGHT DETAILS  FROM DATATABLE OR SESSION DATA TABLE
        string tmpHtml = string.Empty;
        tmphtml="sample";
        string flightID="123123213";
        General.Session.departFlightID=flightID;

    return tmphtml;
    }
haben Sie versucht: var session = '<%= HttpContext.Current.Session["departFlightID"]; %>'; ?
nope, aber lassen Sie mich überprüfen ...
bearbeitet kommentieren..
yup es hat die gleiche zurückgibt leer.
schreiben Sie über script-code in der aspx-Datei oder js-Datei ? wenn Sie schreiben es in eine js-Datei, wird es nicht funktionieren.

InformationsquelleAutor confusedMind | 2013-07-17

Schreibe einen Kommentar