Asumo que está utilizando ASP.NET MVC (C#), si no, esta respuesta es no en tu problema
¿Es imposible asignar valores de sesión directamente a través de javascript? No, hay una manera de hacer eso.
mirar de nuevo su código:
<script type="text/javascript" >
{
Session["controlID"] ="This is my session";
}
</script>
Un pequeño cambio poco:
<script type="text/javascript" >
{
<%Session["controlID"] = "This is my session";%>
}
</script>
La sesión de "ID del control" se ha creado, pero ¿qué pasa con el valor de la sesión? ¿Es persistente o puede cambiarse mediante javascript?
Let cambiar un poco más: se crea
<script type="text/javascript" >
{
var strTest = "This is my session";
<%Session["controlID"] = "'+ strTest +'";%>
}
</script>
La sesión, pero el valor dentro de la sesión será " '+ strTest +'", pero no "Este es mi sesión". Si intenta escribir la variable directamente en el código del servidor como:
<%Session["controlID"] = strTest;%>
A continuación, se producirá un error en la página que "No existe ningún parámetro strTest en el contexto actual ...". Hasta ahora, todavía parece imposible asignar valores de sesión directamente a través de javascript.
Ahora paso a una nueva forma. Usando WebMethod en el código detrás para hacer eso. Revise nuevamente su código con un pequeño cambio:
<script type="text/javascript" >
{
var strTest = "This is my session";
PageMethods.CreateSessionViaJavascript(strTest);
}
</script>
En la página de código subyacente. Creo un WebMethod:
[System.Web.Services.WebMethod]
public static string CreateSessionViaJavascript(string strTest)
{
Page objp = new Page();
objp.Session["controlID"] = strTest;
return strTest;
}
Después de llamar al método web para crear una sesión desde javascript. La sesión "controlID" tendrá el valor "Esta es mi sesión".
Si utiliza el modo que he explicado, agregue este bloque de código dentro de la etiqueta de formulario de su página aspx. El código ayuda a habilitar los métodos de página.
<asp:ScriptManager EnablePageMethods="true" ID="MainSM" runat="server" ScriptMode="Release" LoadScriptsBeforeUI="true"></asp:ScriptManager>
Fuente: JavaScript - How to Set values to Session in Javascript
Codding feliz, Tri
Eche un vistazo a http://stackoverflow.com/questions/1981673 – Gumbo
¿Está pensando en una sesión del lado del servidor, o simplemente una variable de JavaScript llamada Session? – Yoni