我有一个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>