首页 > 解决方案 > 如何从 javascript 数组中获取项目到 asp.net 会话

问题描述

我有一个 javascript 列表,我需要将它们保存到 MSSQL DB。请提出任何解决方案?我想把他们带到 asp.net cs 文件的会话中。

function myFunction() {
            var chks = document.querySelectorAll("#KitapTurs input[type='checkbox']");
            var sayi = chks.length;
            var userchoise = new Array();//this is my array
            for (var i = 0; i < sayi; i++) {
                if (chks[i].checked) {
                    userchoise.push(chks[i].id);
                }
            }
            for (var i = 0; i < userchoise.length; i++) {
                document.write(userchoise[i] + " / ");
            }
//this is javascript session
            sessionStorage.setItem("userchosed", userchoise);
        };

我想将我的数组保存到 asp.net 中的数据库

标签: javascriptasp.netsession

解决方案


您可以创建一个隐藏字段并设置您想要在服务器端获取的值

<input type="hidden" value="" id="DataHolder" name="DataHolder" />

然后您可以使用任何分隔符将值附加到变量(这里是逗号)

var userChoiseData = "";
for (var i = 0; i < sayi; i++) {
    if (chks[i].checked) {
        //userchoise.push(chks[i].id);
        //Append values to userChoiseData variable
        userChoiseData = userChoiseData + chks[i].id + ",";
    }
}

循环迭代后,您将在变量中有逗号分隔的值userChoiseData

将此设置为隐藏字段的值

document.getElementById("DataHolder").value = "userChoiseData;

回发页面并在服务器端(.cs)获取值:

Request.Form["DataHolder"]

推荐阅读