首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

高手赐教 WCF 传递 List 集合,怎么 转换

2012-03-22 
高手赐教 WCF传递 List 集合,如何 转换C# codenamespace SilverlightClient.Web{[ServiceContract(Namespa

高手赐教 WCF 传递 List 集合,如何 转换

C# code
namespace SilverlightClient.Web{        [ServiceContract(Namespace = "")]    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]    public class DBService    {        ClassManager cm=new ClassManager();            [OperationContract]        public void DoWork()        {            // 在此处添加操作实现            return;        }        // 在此处添加更多操作并使用 [OperationContract] 标记它们        [OperationContract]        public List<SClass> GetAllClass()        {            return cm.GetAllClass();        }    }}





仍然没有看到绑定的数据

[解决办法]
给你举个例子,从回调函数中通过e.Result取出集合再调.ToList()转换成List集合,如果是对象就强转(xxx)e.Result

void gcc_getNameBySearchNameCompleted(object sender, getNameBySearchNameCompletedEventArgs e)
{
IList<string> listString = e.Result.ToList();
acb.ItemsSource = listString;
}

[解决办法]
ServiceContract 作用于你对外公布的接口。而实现接口的类是属于servicebehavior。
还需要添加knowtype的标签属性,让客户端知道泛行的类型
[解决办法]
silverlight 用Ienumrable 这个接口 和 IList可以强转的

[解决办法]
silverlight端用ObservableCollection去接就可以了,如果服务器端是List<SClass>那么返回的结果就是ObservableCollection<SClass>,直接用即可,不一定非要使用List<SClass>呀。你直接使用acb.ItemsSource=他就行了,你就当他是个泛型集合好了
[解决办法]
List<Model>在SL端是可以直接绑定使用的.
如果你一定想要转换,建议使用ObservableCollection,别用List

热点排行