我想从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);
}
但问题是警告框只是显示了这个
' + userName + '
当我添加修改这样的代码时,它会抛出错误userName剂量在当前上下文中不存在....
var userName = ($(item).val());
'<%Session["UserName"] = userName; %>';
alert('<%=Session["UserName"] %>');
我只想在会话中添加文本框值。 有没有其他方法可以做到这一点,或者我如何更改此代码段以便按照我想要的方式解决?
答案 0 :(得分:0)
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)&">)
这将写为html这个ASP代码作为隐藏字段。然后,从javascript,您可以通过以下方式获取它的值:
var userName = document.getElementById("user").value;
Javascript to ASP:
当ASP在服务器端运行时,我决定重新加载在其位置发送javascript参数的相同(或不同的)网页,如下所示:
javascript代码更改位置添加参数:
location.replace("randomPage.asp?userName=" + userName);
用于读取这些参数的asp代码:
<%
Session("username") = request.querystring("userName")
%>
希望每个人都清楚。它可能是其他方式,我不知道,这是我能找到的最好的。