Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET.aspx页面:如何通过Javascript发送额外数据?_Javascript_Asp.net - Fatal编程技术网

ASP.NET.aspx页面:如何通过Javascript发送额外数据?

ASP.NET.aspx页面:如何通过Javascript发送额外数据?,javascript,asp.net,Javascript,Asp.net,我有一个老式的ASP.NET plain.aspx页面。 它有一些服务器端控件、一些回发按钮等 我将在客户端添加一些Javascript,以创建用户构建的额外数据列表。 我事先不知道会发送多少额外数据。例如,我不能只添加10个隐藏的输入字段,然后在codebehind中检查它们的值 返回的值可能有20个,可能有100个 将这些额外数据发回服务器的最佳方式是什么 我可以想象它工作的一种方式是添加一些虚拟的隐藏列表控件,由JS在客户端上填充。这感觉很不舒服,但我想我可以让它工作 有更好的方法吗? 需

我有一个老式的ASP.NET plain.aspx页面。 它有一些服务器端控件、一些回发按钮等

我将在客户端添加一些Javascript,以创建用户构建的额外数据列表。 我事先不知道会发送多少额外数据。例如,我不能只添加10个隐藏的输入字段,然后在codebehind中检查它们的值

返回的值可能有20个,可能有100个

将这些额外数据发回服务器的最佳方式是什么

我可以想象它工作的一种方式是添加一些虚拟的隐藏列表控件,由JS在客户端上填充。这感觉很不舒服,但我想我可以让它工作

有更好的方法吗?

需要注意的一些事项:

  • 我没有使用MVC或AJAX
  • 不使用JQuery(我想我可以)
我只是想弄清楚我的选择


谢谢

如果不需要通过ajax发布,可以使用javascript创建控件,然后使用Request.Form检索输入值

ASPX:


如果不需要通过ajax发布,可以使用javascript创建控件,然后使用Request.Form检索输入值

ASPX:


使用单个隐藏字段,但使用分隔符(如分隔符)连接数据;BCd或a | b | c | d。使用单个隐藏字段,但使用类似于a的分隔符连接数据;BCd或a | b | c | d。谢谢,这很有帮助。我使用控件太久了,我忘了你可以直接通过
Request.Form
获取所有数据。谢谢,这很有帮助。我使用控件太久了,我忘了你可以通过
Request.Form
直接获取所有数据。
<script>
    document.write('<input name="field1" type="text" />' + 
                   '<input name="field2" type="text" />');
</script>

<asp:Button ID="btn" Text="button" runat="server" onclick="btn_Click" />
protected void btn_Click(object sender, EventArgs e)
{
    var keys = Request.Form.AllKeys;
    foreach (var key in keys)
    {
        if (key.StartsWith("field"))
            Response.Write(Request.Form[key]);
    }
}