.NET ASMX AJAX返回了对象

时间:2011-09-20 23:00:24

标签: .net wcf web-services asmx datacontract

假设我有一个模态弹出窗口打开,使用ajax调用和javascript填充。

我已经在我想要使用的后端为我的数据对象编写了类,这些类来自我的数据库但是为了参数起见只是虚拟类:

public class Foo {
    public string Property1 { get;set; }
    public string Property2 { get;set; }
}

public class Bar { 
    public int Id { get;set; }
    public int Name { get;set; }
}

我需要从数据库中收到的这两个对象的数据。我想知道将它们返回客户端的最佳方法是什么。我已经提出了一些想法:

  • 两个Web方法调用(看起来像一个额外的XHR请求)
  • 一个返回一个对象数组的调用,其索引为0,而索引为bar。
  • 创建一个封装这两个类的新结构

对于这个特殊的例子,我可以解决它,但我觉得这将在我编码的内容中出现很多,我想在提出解决方案之前我会问。任何人有任何经验/反馈?如果WCF以任何方式帮助我解决这个特殊问题,我肯定愿意做出改变。

如果有所不同,我正在使用jQuery。

1 个答案:

答案 0 :(得分:2)

请创建一个包含两个类实例的包装类:

public class FooBar {
    public Foo foo { get; set; }
    public Bar bar { get; set; }
}

这确保了在客户端:

  • 您不必根据索引对对象的位置进行假设。
  • 客户端代码更易读,更易于维护。几乎没有误解的余地。
  • 您可以为服务操作设置一个返回参数。

至少,这是我的观点: - )