I have a class to deal with session variables. Here is a sample attached:
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; }
}
}
}
Now at some point I store the flightID
in:
General.Session.departFlightID = flightID;
And at another point I want to retrieve this value using Javascript. I have seen examples here but they won't work (there's no error but they will return EMPTY
).
Most recent tries:
var session = '<%= General.Session.departFlightID %>';
var session = '<%= HttpContext.Current.Session[departFlightID] %>';
It does work if I set value on page load, but I am running a webmethod where I create a html and then send that html back to be populated inside a div to make a ticket there. I need to get the session value but it does not update.
To make it more clear here is the 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;
}
}
And here is the 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;
}