【问题标题】:How to set a session variable in JavaScript and access it in ASP.NET .cs file如何在 JavaScript 中设置会话变量并在 ASP.NET .cs 文件中访问它
【发布时间】:2016-07-22 03:48:43
【问题描述】:

我想在 JavaScript 中设置一个会话变量并调用页面重新加载。在这一点上,我希望 aspx.cs 文件能够识别会话变量的变化并对网页进行适当的更改。我试过使用:

使用 Javascript 分配 ASP.NET 会话变量:

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>

虽然设置了会话变量。如果我重新加载页面,JS 字段会识别会话变量的新数据。它在 aspx.cs 文件中未被识别。

基本上,我正在尝试根据网页上的用户操作将数据发送到我的 aspx.cs 文件。

非常感谢任何帮助。

【问题讨论】:

    标签: javascript c# asp.net session


    【解决方案1】:

    在示例中,您提供的 ASP 代码(包含在 中的代码)在页面进入浏览器之前被处理,Javascript 被浏览器处理。

    如果您想将值传回服务器,有多种选择,但一种简单的方法是在表单中使用隐藏输入 (example),然后提交回服务器,然后当您将帖子返回到您将其添加到会话的服务器上。

    void Page_Load() {
        //Don't blindly trust input from the client, validate first!
        Session["Username"] = Request.Params["Username"];
    }
    

    【讨论】:

    • 我的 VS 为此 Request.Params("Username"); 抛出错误。说不要将用户参数作为方法。
    • 抱歉,应该是Request.Params["Username"],我会更新答案的。
    猜你喜欢
    • 1970-01-01
    • 2013-03-09
    • 2016-05-10
    • 2011-07-07
    • 2015-08-12
    • 2017-06-09
    • 1970-01-01
    • 2015-06-29
    • 2011-11-25
    相关资源
    最近更新 更多