Я предполагаю, что вы используете ASP.NET MVC (C #), если нет, то этого ответа нет в вашей проблеме.
Нельзя ли назначать значения сеанса напрямую через javascript? Нет, есть способ сделать это.
Посмотри еще раз твой код:
<script type="text/javascript" >
{
Session["controlID"] ="This is my session";
}
</script>
Немного изменилось:
<script type="text/javascript" >
{
<%Session["controlID"] = "This is my session";%>
}
</script>
Сеанс "controlID" создан, но как насчет значения сеанса? Это постоянное или может быть изменено с помощью JavaScript?
Позвольте изменить немного больше:
<script type="text/javascript" >
{
var strTest = "This is my session";
<%Session["controlID"] = "'+ strTest +'";%>
}
</script>
Сессия создана, но значением внутри сессии будет «+ strTest +», а не «Это моя сессия». Если вы попытаетесь записать переменную непосредственно в код сервера, например:
<%Session["controlID"] = strTest;%>
Тогда на вашей странице произойдет ошибка «В текущем контексте нет параметра strTest ...». До сих пор кажется невозможным назначать значения сеанса напрямую через javascript.
Теперь я перехожу на новый путь. Использование WebMethod в коде, чтобы сделать это. Посмотрите еще раз свой код с небольшим изменением:
<script type="text/javascript" >
{
var strTest = "This is my session";
PageMethods.CreateSessionViaJavascript(strTest);
}
</script>
На странице с выделенным кодом. Я создаю WebMethod:
[System.Web.Services.WebMethod]
public static string CreateSessionViaJavascript(string strTest)
{
Page objp = new Page();
objp.Session["controlID"] = strTest;
return strTest;
}
После вызова веб-метода для создания сеанса из JavaScript. Сеанс «controlID» будет иметь значение «Это мой сеанс».
Если вы используете способ, который я объяснил, пожалуйста, добавьте этот блок кода в тег формы на странице aspx. Код помогает включить методы страницы.
<asp:ScriptManager EnablePageMethods="true" ID="MainSM" runat="server" ScriptMode="Release" LoadScriptsBeforeUI="true"></asp:ScriptManager>
Источник: JavaScript - Как установить значения для сеанса в Javascript
Счастливая кодировка,
Tri