xiamn 发表于 2015-9-26 10:24:30

SharePoint 2010 Silverlight托管客户端模型简单示例

  Silverlight托管客户端模型,是SharePoint2010推出的三种客户端模型“.NET托管”、“ECMAScript”、“Sliverlight”的一种,自己对于Silverlight也不是很熟悉,这也是第一次尝试Sliverlight,不过,我们主要尝试的是客户端模型调用SharePoint,而非Silverlight的功能。
  首先,我们打开vs2010新建项目,选择silverlight – Silverlight application,选择.Net 3.5框架,输入我们的项目名称确定即可,弹出silverlight新建向导,这个我们不需要改什么设置,确定就可以了。然后,我们在Silverlight中添加对客户端模型支持的引用,位置在:TEMPLATE\LAYOUTS\ClientBin下的两个dll文件
  Microsoft.SharePoint.Client.Silverlight.dll
  Microsoft.SharePoint.Client.Silverlight.Runtime.dll
  添加完引用,我们就可以编写我们的Silverlight程序了,我的例子就是通过Silverlight的客户端模型读取一个列表中的项目,然后显示到Silverlight的web部件中,试过了SharePoint2010推出的3中客户端对象模型,觉得使用差不多,一样是读取web,然后读取列表,读取列表项然后显示出来,同时,也需要先通过Load预读一下数据,然后再ExecuteQueryAsync才进行数据请求。而且,Silverlight的执行方式,是异步的。
  相比SharePoint2007,新版本的2010对Silverlight的支持有了很大改善,我们将编译后的Silverlight程序,也就是debug里面的.xap文件上传到文档库中,然后添加Silverlight的Web部件,输入Silverlight文件的链接,就可以添加到SharePoint中了,如下图就是我的示例的展现效果。后面还有代码供大家参考,初次使用Silverlight,不足之处,欢迎大家指正。

  Web web;
  List list;
  ListItemCollection listC;
  private void button1_Click(object sender, RoutedEventArgs e)
  {
  ClientContext context = new ClientContext(ApplicationContext.Current.Url);
  web = context.Web;
  list = web.Lists.GetByTitle("MyFirstLists");
  CamlQuery query = new CamlQuery();
  query.ViewXml = "";
  listC = list.GetItems(query);
  context.Load(listC);
  context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler(OnSuccessed),new     
  ClientRequestFailedEventHandler(OnFailed));
  }
  private void OnSuccessed(Object sender, ClientRequestSucceededEventArgs args)
  {
  this.Dispatcher.BeginInvoke(LoadData);
  }
  private void LoadData()
  {
  String str = "";
  foreach (ListItem item2 in listC)
  {
  str += item2["Title"].ToString() + "\r\n";
  }
  label1.Content = str;
  }
  private void OnFailed(Object sender, ClientRequestFailedEventArgs args)
  {
  this.Dispatcher.BeginInvoke(delegate(){MessageBox.Show("Failed");});
  }
  
  参考链接:
  使用 Silverlight 客户端对象模型访问 SharePoint 2010 数据
  http://msdn.microsoft.com/zh-cn/library/gg595639.aspx
  作者:霖雨
  出处:http://www.cnblogs.com/jianyus
  本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。
页: [1]
查看完整版本: SharePoint 2010 Silverlight托管客户端模型简单示例