在aspx页面中设置会话值

3
我希望在我的aspx页面上通过JavaScript向一个会话变量赋值。
 var name = e.object.text;
 <%# Session["CurrentName"] = name %>

上面的代码出现了以下错误:
Compiler Error Message: CS0103: The name 'name' does not exist in the current context

当我谷歌搜索时,所有的帖子都是关于在JavaScript中从会话中获取值。但是我想在JavaScript代码中将值设置为会话变量。如何在JavaScript中将值分配给会话变量?谢谢。
3个回答

5

使用JavaScript访问和分配Session变量:

点击这里

使用JavaScript分配ASP.NET Session变量:

 <script type="text/javascript">
function SetUserName()
{
    var userName = "Shekhar Shete";
    '<%Session["UserName"] = "' + userName + '"; %>';
     alert('<%=Session["UserName"] %>');
}
</script>

使用 Javascript 访问 ASP.NET Session 变量:

<script type="text/javascript">
    function GetUserName()
    {

        var username = '<%= Session["UserName"] %>';
        alert(username );
    }
</script>

希望这对你有所帮助...! :)

2
你不能这样做。JavaScript是客户端的,因此在服务器端(C#)渲染之后才会被执行。这意味着你不能直接通过JavaScript分配会话值。
解决问题的一种方法是使用AJAX异步向服务器发送请求并更改会话的值。 这里有一个例子。

0
<script runat="server">
 var name = e.object.text;
 Session["CurrentName"] = name;
</script>

尝试使用runat="server"在脚本中,您可以为Session分配值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接