【问题标题】:Accessing session in javascript ASP.net在 javascript ASP.net 中访问会话
【发布时间】:2015-04-20 07:01:30
【问题描述】:

我想将数据从 JavaScript on asp.net web 表单添加到会话。它没有正常工作..

这是我的 java 脚本方法,它只是从正在工作的文本框中获取数据...

function JavaScriptFunction() {

            var arr = $("input[name='multiple[]']");

            $.each(arr, function (i, item) {
                //alert($(item).val());
                var userName = ($(item).val());
                '<%Session["UserName"] = "' + userName + '"; %>';
                  alert('<%=Session["UserName"] %>');
            });

            PageMethods.setemail("Paul Hayman");
            PageMethods.InsertContacts($(item).val(), "8989",
                    "M0011", OnSucceeded, OnFailed);
        }

但问题是警告框只是显示这个

' + userName + '

当我像这样添加修改代码时,它会抛出错误用户名在当前上下文中不存在....

 var userName = ($(item).val());
'<%Session["UserName"] = userName; %>';
 alert('<%=Session["UserName"] %>');

我只想将文本框值添加到会话中。 有没有其他方法可以做到这一点,或者我怎样才能改变这个代码 sn-p 来按我的意愿工作?

【问题讨论】:

  • 看看这个page。它很旧,但仍然可能满足您的需求。
  • 天啊。你不能。不是这样的。 "" 之间的 C# 代码在 html 呈现服务器端期间执行。页面 html 到达浏览器后执行 Javascript。
  • 您已经在使用 pagemethod 将用户名集合作为参数发送到您的 pagemethod。

标签: javascript c# jquery asp.net session


【解决方案1】:

Asp 是服务器端。 Javascript 不是。你不能。

但是有很多技巧可以让它发挥作用。

我不确定您是想从 javascript 转到 session 还是相反,因为 Igor 让我在 cmets 中注意到了这一点。给你们解释一下:

ASP 到 Javascript:

Response.Write("<p id="&chr(34)&"user"&chr(34)&" style="&chr(34)&"visibility:hidden;value: "&chr(34)&Session(Username)&chr(34)&";"&chr(34)&">)

这将把这个ASP代码写成html作为一个隐藏字段。然后,从 javascript,您可以通过以下方式获取它的值:

var userName = document.getElementById("user").value;

Javascript 到 ASP:

由于 ASP 在服务器端运行,我决定重新加载相同(或不同的)网页,在其位置发送 javascript 参数,如下所示:

更改位置添加参数的javascript代码:

 location.replace("randomPage.asp?userName=" + userName);

读取这些参数的asp代码:

<%
Session("username") = request.querystring("userName")
%>

希望一切都清楚。可能是其他方法,我不知道,这是我能找到的最好的方法。

【讨论】:

  • OP 希望将值从 javascript 推送到 Session,而不是其他方式
  • 谢谢 Ssr1368 我会尝试这种方式
  • 你好@gamal 进展如何?如果有用,您能否将这个答案投票为有用,或者如果不是,请告诉我? :)
猜你喜欢
  • 2011-11-25
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 2017-06-09
  • 1970-01-01
  • 2011-12-29
相关资源
最近更新 更多