То, что у вас там должно работать, за исключением того, что стоит отметить, что вам нужно включить реализацию интерфейса IRequiresSessionState.
using System.Web.Sessionstate;
public class Handler: IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["YourSessionVar"] = yourStringVar;
}
}
РЕДАКТИРОВАТЬ: OP отредактированный вопрос после публикации
Для того, чтобычтобы получить доступ к переменной на другой странице, обязательно используйте IRequiresSessionState и на этой странице.Если вы этого не сделаете, у вас не будет доступа к переменным сеанса.
РЕДАКТИРОВАТЬ: Дополнительная информация, запрашиваемая OP
Чтобы получить доступ к переменной сеанса на странице aspx, выполните следующие действия:
using Sytem.Web.SessionState;
public class YourClass : IRequiresSessionState
{
public string MyVar;
protected void Page_Load(object senser, EventArgs e)
{
MyVar = Session["YourSessionVarName"].ToString();
}
}
Теперь, чтобы добавить это в функцию onclick на странице html / aspx, вы делаете это
<div onclick="yourJScriptFunction('<% Response.Write(MyVar) %>');">