У меня есть класс для обработки переменных сеанса. Вот образец прилагается:Как получить значение сеанса с помощью javascript
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; }
}
}
}
Теперь в какой-то момент я хранить flightID
в:
General.Session.departFlightID = flightID;
И в другом месте, я хочу, чтобы получить это значение, используя Javascript. Я видел примеры здесь, но они не будут работать (ошибки нет, но они вернут EMPTY
).
Последние попытки:
var session = '<%= General.Session.departFlightID %>';
var session = '<%= HttpContext.Current.Session["departFlightID"] %>';
Это работает, если я устанавливаю значение при загрузке страницы, но я бегу WebMethod, где я создаю HTML, а затем отправить этот HTML-обратно заполняться внутри дел до сделайте там билет. Мне нужно получить значение сеанса, но оно не обновляется.
Чтобы сделать его более ясным здесь код JavaScript:
<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;
}
}
А вот 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;
}
вы пробовали: 'уаг сессии =«<% = HttpContext.Current.Session [ "departFlightID" ]; %> '; '? – karaxuna
@karaxuna nope, но позвольте мне проверить ... – confusedMind
отредактированный комментарий .. – karaxuna