我有一个javascript对象数组,我想按一个提交按钮并“发送”它们,就像我可以访问文本框或列表框的成员一样。页面回发,我可以在按钮的Submit方法中放入一些代码。有办法吗?还是我必须将它们放入控件中?

最佳答案

在按钮的Submit方法上,您需要serialize您的JavaScript对象数组并将其分配给隐藏的输入。然后在服务器端,从输入中获取该JSON字符串并对其进行处理(例如deserialize它)。

要序列化,首先将ScriptManager添加到页面:

<asp:ScriptManager runat="server" />


然后,您可以像这样运行JavaScript:

<script type="text/javascript">
    window.onload = function () {
        var value = {
            a: "a",
            b: 123,
            c: [
                "c1",
                "c2"],
            d: {
                d1: "d1",
                d2: "d2"
            }
        };
        var result = Sys.Serialization.JavaScriptSerializer.serialize(value);
        alert(result);
    }
</script>

07-25 20:47