我有一个老式的ASP.NET plain .aspx页面。 它有一些服务器端控件,一些回发按钮等等。
我将在客户端添加一些Javascript来创建用户构建的额外数据列表。 我事先不知道会发送多少额外数据。例如,我不能只添加10个隐藏的输入字段并在代码隐藏中检查它们的值。
可能会发回20个值,可能有100个。
将这些额外数据发回服务器的最佳方法是什么?
我可以想象它工作的一种方法是添加一些虚拟隐藏列表控件,由客户端上的JS填充。它感觉很hacky,但我想我可以让它发挥作用。
有更好的方法吗?
有些注意事项:
我真的只是试图掌握我的选择。
谢谢!
答案 0 :(得分:1)
如果不需要通过ajax进行POST,则可以使用javascript创建控件,然后使用Request.Form检索输入值。
ASPX:
<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" />
ASPX.CS:
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]);
}
}