1

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

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

可能有 20 个值发回,也可能有 100 个。

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

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

有没有更好的办法?

需要注意的一些事项:

  • 我没有使用 MVC 或 AJAX
  • 不使用 JQuery(虽然我可以,我想)

我真的只是想掌握我的选择。

谢谢!

4

1 回答 1

1

如果不需要通过 ajax 发布,您可以使用 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]);
    }
}
于 2013-02-22T18:56:00.757 回答