将JSON对象与页面加载一起发送到服务器

时间:2011-09-07 06:44:55

标签: jquery asp.net html ajax json

好的,这是我的问题。我正在尝试自定义用户的体验。返回主页后,未注销的用户应根据其首选设置获得自定义体验。我可以做这个服务器端,在将页面发送到客户端之前用自定义信息绘制页面html。问题是在客户端,jQuery实际上创建了某些html元素。我也想初始化这些。因此,我们想到的是将JSON对象与页面一起发送,让JQuery检查它并使用JSON对象中的信息绘制元素。但是我该怎么做呢?如果没有这个,我能想到的就是将信息放在页面上的隐藏字段中,让JQuery从这些字段中获取数据。但那太丑了。你会怎么做?

非常感谢提前。

1 个答案:

答案 0 :(得分:2)

您可以使用JavaScriptSerializer类来JSON序列化服务器上​​的某个模型实例:

<script type="text/javascript">
    var model = <%= new JavaScriptSerializer().Serialize(SomeModel) %>;
    // TODO: do something with the values of the model
</script>

根据服务器端模型的结构,生成的HTML可能看起来像以下几行:

<script type="text/javascript">
    var model = { someProperty: 'some value', someCollection: [ '1', '2', '3' ] };
    // TODO: do something with the values of the model
</script>