首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Silverlight:Webservice方法返回ObservableCollection而不是Generic List

Silverlight 是一个由微软开发的网页浏览器插件,它允许开发者使用 .NET Framework 构建丰富的、动态的、可扩展的 Web 应用程序。Silverlight 支持多种编程语言,包括 C#、Visual Basic 和 Python。Silverlight 的主要特点是提供了一个丰富的用户界面,并且可以与后端服务器进行通信。

Webservice 是一个基于 SOAP 协议的 Web 服务,它允许开发者在不同的平台之间进行通信。Webservice 可以使用多种编程语言进行开发,包括 C#、Java、Python 等。Webservice 的主要特点是可以使用 HTTP 协议进行通信,并且可以使用 XML 格式来传输数据。

ObservableCollection 是一个集合类,它可以在集合中的元素发生变化时通知应用程序。ObservableCollection 是一个泛型集合,它可以存储任何类型的对象。ObservableCollection 的主要特点是可以自动通知应用程序,当集合中的元素发生变化时,应用程序可以自动更新 UI。

Generic List 是一个泛型集合,它可以存储任何类型的对象。Generic List 是一个动态数组,它可以自动调整大小。Generic List 的主要特点是可以使用类型安全的方式存储和访问数据,并且可以使用 LINQ 查询。

在 Silverlight 中,Webservice 方法可以返回 ObservableCollection 而不是 Generic List,因为 ObservableCollection 可以自动通知应用程序,当集合中的元素发生变化时,应用程序可以自动更新 UI。这对于构建丰富的、动态的、可扩展的 Web 应用程序非常有用。

推荐的腾讯云相关产品:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ObservableCollection

利用 ObservableCollection 类,WPF /Silverlight 应用程序可以使绑定控件与基础数据源保持同步,但它还提供了更有用的信息,尤其是 ObservableCollection...通常我们采用WCF服务所使用的List, 在Silverlight客户端生成的代理都会使用ObservableCollection 替代,没有用过Silverlight的同学可以到这篇文章《推荐一个...Silverlight多文件(大文件)上传的开源项目》看到上传文件集合类FileCollection就是ObservableCollection的子类 。...当我们在列表(比如ListBox)显示了一个CLR对象列表(比如List)时,如果想在修改List对象后,ListBox也动态的反映这种变 化。...此时,我们应该使用动态的ObservableCollection对象绑定。不是直接的更新ItemSource。

1.1K60

通过 INotifyPropertyChanged 实现观察者模式

当属性改变时,它可以通知客户端,并进行界面数据更新.而我们不用写很多复杂的代码来更新界面数据,这样可以做到方法简洁清晰,松耦合和让方法变得更通用.可用的地方太多了:例如上传进度,实时后台数据变更等地方...当属性改变时,它可以通知客户端,并进行界面数据更新.而我们不用写很多复杂的代码来更新界面数据,这样可以做到方法简洁清晰,松耦合和让方法变得更通用.可用的地方太多了:例如上传进度,实时后台数据变更等地方....目前我发现winform和silverlight都支持,确实是一个强大的接口....Silverlight中的数据绑定还能将目标对象与集合对象相绑定,这也是很常用的。比如显示文章的题目列表、显示一系列图片等。  ...在Silverlight中创建数据源集合可以使用内建的ObservableCollection类,因为ObservableCollection类既实现了INotifyPropertyChanged接口,

2.8K10
  • silverlight获取外部数据的另一种选择:FluorineFx

    /webService取得数据 (当然,sl跟本机的sl之间也能交换数据,但这个用处有限,此外通过socket也能拿到数据,但是socket要玩好并不容易,难度系数有点高,本文不做讨论) 返回的数据格式...与webService采用的soap协议不同:FluorineFx支持Adobe的AMF0,AMF3,RTMP协议,能方便的与Adobe几乎所有的通讯技术交互,这为silverlight与flash/flex... GetPersonList() { List lst = new List...这是用httpwatch在firefox下测试的结果: 如果用最原始的stream方法封装json数据,返回的数据为 ? 如果用系统提供的json自动封装,返回的数据为 ?...FluorineFx是以二进制返回的,不方便直接观察字符串,只能直接反序列化为Peron类,就不贴出结果了。

    96750

    分析Silverlight跨域调用

    分析Silverlight跨域调用 在silverlight开发的过程中不免要遇到跨域的问题,在这里以跨域调用Webservice为例子来分析一下跨域的问题。...先介绍一下我的测试项目,我用flash和silverlight一同来调用一个webservice,一个flash客户端,一个silverlight客户端,一个web项目来host flash和silverlight...我的webservice里有一个方法 [WebMethod] public string SayHello(string name) { return "Hello " + name; } webservice...再次调用看看是什么情况 请求到了clientaccesspolicy.xml 后就去真正请求webservice文件了。  并且得到了返回值。...再输入用户名后,直接向webservice post数据,得到返回值。 好接下来看看as3的flash又会如何。 机制有些改变,一开始没去请求xml。

    95680

    代码重构之没有理由拒绝Lambda表达式

    代码重构之没有理由拒绝Lambda表达式 Lambda表示是在C# 3.0推出的新特性,匿名方法是C# 2.0推出的新特性,这一切都是为了让代码变得更简洁,更容易理解。...最近开始做一些Silverlight的应用项目,发现在Silverlight和后台代码交互时大量使用的是异步回调的方式;而异步处理特别是需要有返回结果,比如调用webService返回数据,哪怕是一个普通的...Event事件处理,通常情况下都要写不少代码,定义委托类型,回调方法等。...object sender, EventArgs e) { throw new NotImplementedException(); } 以上代码在C# 2.0(匿名方法...(inputtext,callback); } 调用上面的方法 GetServiceData((contactList, error) => { if

    70050

    《101 Windows Phone 7 Apps》读书笔记-Weight Tracker

    但是,这种默认渲染效果在dark主题下就显得不是很恰当,因为说明文字变成了白色,框的背景色仍旧是light主题下的渐变效果。...我们可以找到Chart默认的风格和所有相关的类型,它们位于Silverlight Toolkit的generic.xaml文件中。...WeighInEditableList使用的集合是一个自定义的WeighInCollection类,它从ObservableCollection继承而来。...➔ 该页面只把当前选择的Pivot Item记录在页面状态中,不是记录在隔离存储空间里。那是因为大多数用户启动一个新的实例时,他们想要做的第一件事件就是记录一个新的体重。...如果我们将WeighInEditableList的IsGoalList属性设置为True,可以使得每个体重的附近显示星标,不是主页面上的那种上升/下降箭头。 ?

    1.4K80

    ASP.NET AJAX(4)__客户端访问WebService服务器端释放WebService方法客户端访问WebService客户端访问PageMethod错误处理复杂数据类型使用基础客户端代理的

    [Namespaces.]ClassName.MethodName 依次传入参数 传入一个方法作为成功后的回调函数(即使没有返回值) 一个简单的访问WebService示例          首先创建一个... Reverse(List list) { list.Reverse(); return list; } [WebMethod...HTTP GET 让WebService方法返回XML对象 默认以JSON格式返回数据 使用ScriptMethodAttribute进行标记(ResponseFormat属性设置为Xml,Response...输出 一个让方法返回XML对象的示例 首先创建一个Employee类 using System; using System.Collections.Generic; using System.Linq;...WebService方法中使用Session的示例 首先创建一个名为EnableSessionService.asmx的WebService using System; using System.Collections.Generic

    4.8K70

    初识字节流+实现缓冲字节流OutputStream的主要方法构造方法读关流实现BufferedInputStream实现BufferedOutputStream为什么read()返回的是Int型不是

    (String file,boolean append) FileOutputStream(File file,boolean appeand) 后面两种方法用于判断是否需要续写,前面两个方法是直接覆盖文件...filename.isFile()==false的话,那么会抛出FileNotFoundException 读 read():int read(byte[] array):int 与Reader类一样,如果到了文件末尾,返回...-1 这里有个特别好用的方法,可以用来知道文件的大小 available():int; 返回文件的字节数 这时就可以用这个方法来定义array的大小,那么就可以一次性读完了 关流 flush...){return -1;} } len--; return (array[index++]&255);//防止出现读到11111111此时错误的返回了...---- 错误的返回了-1 如果扫描到了11111111那么此时将byte->int是-1,如果这样的话,程序就会终止不会进行 为什么read()返回的是Int型不是byte型呢??

    1.3K80

    ASP.NET 使用Ajax

    可以异步向服务器发送特定请求,获取服务器相关数据,比如向服务器询问天气,然后获得天气数据,更新页面,不是获取整个页面,换句话说,使用Ajax本身就是为了摆脱更新整个页面来更新页面数据这种模式,仅仅需要服务器给我们数据即可...Webservice文件 WebService.asmx using System; using System.Collections.Generic; using System.Linq; using...,写个测试方法让客户端调用第一个方法根据参数返回对应对象,首先需要在页面from内加上ScriptManager,引用刚才写的WebService文件 Default.aspx <form id="form1...看看执行结果: 观察仔细会发现使用ScriptManager和<em>WebService</em>组合有福利,在<em>WebService</em>中传回Student对象的时候并没有序列化成字符串,而是直接<em>返回</em>,看上面图发现对象已经自动转换为一...我们看看结果: 通过上图可以看到,jQuery调用<em>WebService</em>默认会<em>返回</em>一个XML文档,<em>而</em>需要的数据在 节点中,只需要使用jQuery解析xml的语法就可以轻松得到数据。

    2.7K20

    《101 Windows Phone 7 Apps》读书笔记-TODO LIST

    通过这种方法,即使用户访问设置页面,在删除Pivot页面后快速返回主页面,仍然有充足的时间来完成页面的切换。所以,如果之前选择的页面被删除,那么Pivot会返回到第0个页面。...➔ 一方面,CreatedDate 和 ModifiedDate属性设置为DateTimeOffset类型,不是DateTime类型,这样更加合理;另一方面,这也是为了与其他类型的匹配(我们可能会提出这样的质疑...SortedTaskCollection.cs ➔ 该类的实现中,需要重写ObservableCollection的被保护的InsertItem方法,它最终会被Add和Insert方法调用。...➔ 在OnNavigatedTo方法中,对显示内容作了一些调整,使得在用户点击编辑按钮将页面导航到添加/编辑页面、对记录做了更改、保存并且返回之后,当前页面中的信息能够保持更新。...图26.6 两种不同模式下的添加/编辑页面 ➔ 该页面利用了Silverlight for Windows Phone Toolkit中的三个控件:list picker、date picker和time

    1.3K60

    WPF 多线程下跨线程处理 ObservableCollection 数据

    非 UI 线程访问 UI 元素是限制只有 UI 线程才能合法访问 UI 线程创建的元素。...列表的能力,必须从业务上确保只有后台线程在访问, UI 线程不会对 ObservableCollection 列表进行任何的改动 在确保 UI 线程不会改动到 ObservableCollection...列表的时候,可以采用如下方法,在后台线程拷贝一份作为新的 ObservableCollection 对象,然后对此新的对象进行处理。...UI 绑定的 ObservableCollection 的更改,由于是放在后台线程执行,基本上不需要担心拷贝的耗时 第三个方法是自己实现一个类似 ObservableCollection 的类型。...例如以上的代码,如果没有关注线程安全,在通知 UI 线程集合变更之后,刚好 UI 线程去读取此集合新的值的时候,集合本身就被其他线程更改了内容,那么此时的逻辑就不是符合预期的 以上的代码放在 github

    3.8K10

    Silverlight自定义数据绑定控件应该如何处理IEditableObject和IEditableCollectionView对象

    最近在一直研究Silverlight下的数据绑定控件,发现有这样两个接口IEditableObject 和IEditableCollectionView,记录一下结论,欢迎交流指正。...本文会重点介绍在构建Silverlight自定义数据绑定控件的过程中,我们会对数据源进行操作,那么就会碰到上述两个接口,如何正确的处理它们。...It is implemented by ListCollectionView (the default view for ObservableCollection) and BindingListCollectionView...只有在其数据源不是IEditableCollectionView的时候,如果Row绑定对象是IEditableObject,需要调用IEditableObject的接口实现。...说明:以上描述是以Silverlight DataGrid为例,自定义控件类似。

    90490

    Silverlight之ListBoxStyle学习笔记--ListBox版的图片轮换广告

    这里推荐一个老外的文章 http://blogs.msdn.com/delay/archive/2008/03/05/lb-sv-faq-examples-notes-tips-and-more-for-silverlight...在学习Style的过程中,经常会遇到另外一个概念:模板(Template),初期经常被他们搞混淆,其实这二者有明显的区别:Style影响外观,Template影响内容,它们之间通过绑定联系起来(它们之间的联系也可以这样理解...我们给它加上后端代码: Xaml.cs using System.Windows.Controls; using System.Reflection; using System.Collections.Generic...Test t; public UserControl1()         {                         InitializeComponent();             List... lst = new List(){ new Test(){ Index="1"}, new Test(){ Index="2"}, new Test(){ Index="

    1K50
    领券