ASP.Net模型到Javascript-将数据从服务器传递到客户端
ASP.Net Model to Javascript - Passing Data from server to client
嘿,伙计们,快速提问将Model转换为Javascript的最佳方法是什么。
我试过用这个
@{
var arr = new string[3];
arr[0] = "1";
arr[1] = "2";
arr[2] = "3";
var jason = JsonConvert.SerializeObject(Model);
}
<script type="text/javascript">
var string = '@jason';
var variable2 = jQuery.parseJSON(string);
alert(variable2.Id);
</script>
正如你所猜测的那样,它不起作用,我查看了jQuery的示例,它应该起作用,但我不确定它是否与.net 的JsonConvert兼容
这是我第一次在客户端编程,所以这是一个非常简单的问题,但我试着从网上寻找答案。我看到的大多数答案都非常复杂,而且至少有3个或更高的年龄,所以我想现在应该有一种更简单的方法来做这件事了?
我觉得这需要一个答案,因为这是谷歌的第二个结果,已经被浏览了200多次,正如OP所说,每隔一个答案通常都很长和/或很复杂。但最简单的答案是:
添加到aspx页面的Javascript:
<script type="text/javascript">
var myObject = <%=JsonConvert.SerializeObject(MyNetObject)%>;
</script>
关键是HTML的输出如下所示:
<script type="test/javascript">
var myObject = {"Prop1":"value1","Prop2":"Value2"};
</script>
Javascript本机处理JSON,因此您不需要在客户端重新分析任何内容。如果对象被正确序列化,它将被识别,而无需进一步转换(包括列表和对象属性)。
在OP中提供的示例中,生成的Javascript对象将是一个简单的数组。因此,对客户端元素的访问将是:
alert(variable2[0]), alert(variable2[1]), alert(variable2[2])....
为了提供OP试图在客户端执行的Javascript属性调用功能,需要在服务器端执行以下操作:
var json = JsonConvert.Serialize(new { ID1 = 1, ID2 = 2, ID3 = 3 });
其中具有命名属性的对象被序列化到页面中。
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 将客户端特定的日期格式返回到服务器MVC4
- 服务器上的Meteor客户端断开连接事件
- 在Javascript服务器/客户端中共享对象定义
- 可以't连接客户端和服务器import.io
- 套接字服务器向客户端广播,但不从两者接收
- 使用COMETD将服务器推送到客户端(dojo)
- 了解如何在javascript/HTML5/NodeJS中实现客户端-服务器-客户端基础结构
- 服务器过载..有要求?如何有效地对服务器-客户端进行编程
- Math.sin()在服务器/客户端上给出不同的结果
- Internet Explorer浏览器问题:浏览器不提交POST数据与Ajax请求,服务器/客户端挂起
- 如何在连接服务器客户端之前获得IP地址(使用websockets/ws)
- Node.js服务器/客户端模块混乱,EventEmitter问题
- 服务器-客户端推/拉连接是如何工作的
- 如何执行在服务器/客户端使用回调参数的javascript函数
- 最好的jQuery/Java PHP解决方案为本地主机服务器-客户端实时聊天