我有一个使用.svc公开的简单的WCF服务。该服务有一些与ServiceContracts一起使用的相关DataContract类。在调用获取某些数据的方法时,返回的json具有您所期望的所有属性。
我的问题是如何在javascript中获得这些DataContract对象之一的新实例。
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference
Path="./Service1.svc" />
</Services>
</asp:ScriptManager>
<script>
// what I'd like to be able to do in javascript
var myInstance = new MyNamespace.MyDataContractClassName();
myInstance.someProperty = "Prop Value";
</script>发布于 2008-12-12 03:19:05
如果浏览到./Service1.svc/js,您可以看到服务器生成的确切的客户端代理脚本。
在本文件的末尾,您应该看到将数据协定类型注册为客户端类型的行-这只会使它们在客户端类型系统中可用,并允许您调用众所周知的构造函数,但它实际上并不编码它们的属性,因为您可以在JavaScript中的任何对象上设置任意属性。
因此,假设命名空间和类声明与代理代码中的内容匹配,您实际编写的代码是正确的,但您可以自己验证这一点。
发布于 2008-12-12 16:45:45
谢谢@Sam,我希望有一种方法可以创建所有的属性,这样当我做新的MyDataContractClassname()时,我可以有一个很好的完整的对象,我可以传递,而不必测试属性的存在或诸如此类-只要把它当作我从返回DataContract的服务中获得的对象。假设我有一个方法向用户显示该对象的内容,有时显示一个新的对象,有时显示来自服务的内容,那么假设所有属性都在那里会很好,就像您实例化一个手写的"class“一样。
https://stackoverflow.com/questions/358011
复制相似问题