在javascript ASP.net中访问会话

在javascript ASP.net中访问会话,javascript,c#,jquery,asp.net,session,Javascript,C#,Jquery,Asp.net,Session,我想从asp.net web表单上的JavaScript向会话添加数据。它没有正常工作 这是我的java脚本方法,它只是从正在工作的文本框中获取数据 function JavaScriptFunction() { var arr = $("input[name='multiple[]']"); $.each(arr, function (i, item) { //alert($(item).val());

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

这是我的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);
        }
当我像这样添加和修改代码时,它会抛出一个错误。用户名在当前上下文中不存在

 var userName = ($(item).val());
'<%Session["UserName"] = userName; %>';
 alert('<%=Session["UserName"] %>');
var userName=($(item.val());
'';
警报(“”);
我只想向会话添加文本框值。
有没有其他方法可以做到这一点,或者如何更改此代码段以实现我想要的效果?

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

然而,有很多技巧可以让它发挥作用

我不确定您是想从javascript转到会话还是相反,正如Igor在评论中让我注意到的那样。我要向你们解释:

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)&">)
Javascript到ASP:

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

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

 location.replace("randomPage.asp?userName=" + userName);
<%
Session("username") = request.querystring("userName")
%>
用于读取这些参数的asp代码:

 location.replace("randomPage.asp?userName=" + userName);
<%
Session("username") = request.querystring("userName")
%>


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

看看这个。它很老了,但仍然可以满足你的需要。你不能。不是这样的。在服务器端html呈现期间执行“”之间的C#代码。Javascript在页面html到达浏览器后执行。您已经在使用pagemethod发送用户名集合作为pagemethod的参数。OP希望将值从Javascript推送到会话,而不是另一种方式谢谢Ssr1368我将尝试这种方式Hello@gamal进展如何?如果这个答案是有用的,你能投票给我吗?如果不是,请告诉我