当前位置:  开发笔记 > 编程语言 > 正文

将特定的.net对象公开为JSON

如何解决《将特定的.net对象公开为JSON》经验,为你挑选了1个好方法。

我目前正在使用ScriptService属性为我的Web服务启用JSON调用.问题是我的一个类引用了第二个类,而.Net没有拿起并写出第二个类的JavaScript.

作为一种解决方法,我可以编写一个只返回第二个类的虚方法.然后.Net写入JSON以允许它被序列化.所以在下面的例子中:

[ScriptService]
public class MyService : WebService {
    [WebMethod]
    public void SaveClass1(Class1 class1) {
        ...
    }
}

[Serializable]
public class Class1 {
    public Class2 class2 { get; set; }
}

[Serializable]
public class Class2 {
}

MyService.asmx/js不会编写代码以允许我实例化Class2以便我填充Class1.但是,如果我添加:

[WebMethod]
public Class2 Dummy() {
    return new Class2();
}

到MyService.我非常感谢任何替代我讨厌的解决方法.



1> Daniel Richa..:

您需要使用System.Web.Script.Services.GenerateScriptTypeAttribute,它指定服务器类型应包含在生成的代理代码中.您可以将此属性应用于Web服务本身或使用WebMethodAttribute标记的任何方法.

例如:

[ScriptService]
[GenerateScriptType(typeof(Class2))]
public class MyService : WebService {
    [WebMethod]
    public void SaveClass1(Class1 class1) {
        // ...
    }
}

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有