我认为返回数据集、在前端应用程序中处理数据集和可数据是一个相当糟糕的想法。因此,有了泛型的魔力,我将通过Webservice调用返回一个泛型列表( WCF只是普通的ol‘asmx)。只要您需要将每个调用的列表返回到您的webservice,这就很好了。
我遇到的情况是,我有一个更复杂的屏幕,其中有一些下拉列表等等。我需要将这些下拉列表绑定到一个通用列表中。问题是,我不想打几个网络电话,每个下拉列表一个,来获取我的数据。在过去,我只会返回一个数据集并将下拉列表绑定到dataset中的特定表。
因此,在一个web调用中返回多个泛型列表将是最好的。
我尝试过的事情:
使用使用泛型列表集合创建基类并使用集合of List<Base>.
List<MyOneObject>、List<MySecondObject>等属性的属性,但它有点混乱.我有很多类和屏幕在应用程序中会发生这种情况。我可以为每个类创建一个具有List<MyType>属性的类,但就像我说的那样,我认为这可能会失控。因此,在这一点上,我有两个选项,在上面的列表中#4,或者只是返回一个数据集,我不想这样做:0)
以前有人遇到过这种情况吗?
发布于 2009-06-25 12:13:36
我不认为返回多个列表是个好主意,但如果要这样做,我将创建一个包装类,其中每个列表都公开为该类中的一个属性。
有点像
class Wrapper
{
public List<object1> Object1List {get;set;}
public List<object1> Object2List {get;set;}
}发布于 2009-06-25 12:17:20
答案是#4,通过一个类,或者是多个调用,这是您不愿意做的。
发布于 2009-06-25 12:31:58
看来我今天的回答都是从一个问题开始的?为什么你不想在现场后面打多个电话?
如果您使用一个异步调用P下拉/控件,您需要绑定,您将获得更流畅的用户体验。(对于大型独立列表来说尤其如此),仅仅是因为如果您只进行一个调用,那么所有下拉/conrtols都需要等待所有其他的逆序数据被返回。
也就是说:如果您返回的列表长度接近对方,您可以使用字典,使用键表示"property name“,并使用值来很好地表示值。很少需要代码,而且将源代码转换为带有.ToDictionary()的字典非常直接(如果源代码不是IEnumerable,则该源代码的实现.ToDictionary()通常是直接的)
https://stackoverflow.com/questions/1043558
复制相似问题