【问题标题】:Passing arrays from Javascript to asp.net将数组从 Javascript 传递到 asp.net
【发布时间】:2017-05-07 00:23:16
【问题描述】:

我有两个单独的页面。一个包含一个涉及 JavaScript(函数等)的 HTML 页面和一个 .aspx 页面。

我在 html 页面中有一些数组,我想将它们(使用 JavaScript)发送到 .aspx 以将它们存储到数据库中。

我尝试过隐藏字段、创建表单等。我得到的都是空的。如何将我的数组传递给 aspx 以便稍后将它们存储在数据库中?我不能使用 jQuery。

function openPopup() {
        window.open("Default.aspx",  "scrollbars=yes, width=900,height=500,left=430,top=100");
        return false;
    }
function control() {
        var a = JSON.stringify(x);// x and y are my arrays
        var b = JSON.stringify(y);

        var btnId = '<%= HiddenField1.ClientID%>';
        var btnId2 = '<%= HiddenField2.ClientID%>';
        document.getElementById(btnId).value = a;
        document.getElementById(btnId2).value = b;                       
    }

在 HTML 中

<button onclick="openPopup()">POP</button> //opens the aspx page

在 ASPX 中

<form id="form1" runat="server">
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Database" />
    <asp:HiddenField ID="HiddenField1" runat="server" />
    <asp:HiddenField ID="HiddenField2" runat="server" />
</form>

在 ASPX.CS 中

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Write(HiddenField1);
}

【问题讨论】:

  • 真的是 aspx 上的所有内容吗?还是在 aspx 上有母版页或更多内容?
  • stackoverflow.com/questions/5088450/… - 也许这会有所帮助?
  • 请不要将 JavaScript 称为 JScript。这具有不同但相关的含义,只会导致混乱。
  • 您混淆了客户端和服务器端。他们不混合,但可以通过 ajax、rest api、post/get request 进行通信

标签: javascript asp.net webforms


【解决方案1】:

您将需要使用 AJAX(最好)或使用传统的表单提交(页面将在提交后重新加载)将数据发送到服务器。

一旦页面在浏览器中呈现,服务器就无法访问 HTML 元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    相关资源
    最近更新 更多