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