1、使用Silverlight,CAML和Linq取得数据
2、编程性创建更新删除列表数据项
3、修饰列表和库的配置
4、管理文件和文件夹
5、修改快速启动和顶部导航条
【使用Silverlight,CAML,Linq获取数据】
无论使用Javascript还是silverlight,都要通过http://yoursiteurl/_vti_bin/client.svc这个web service来实现,使用客户端容易实现沙箱解决方案。不会危害到服务器
所需客户端对象模型在服务器上C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.需要拷贝到开发环境中
变成成功之后的xap文件在Bin\Debug or Bin\Release
使用ClientContext context = new ClientContext(fullsiteurl);获得客户端上下文
如果没有Linq,你要用这种方式查询Tasks list
1 ClientContext context = ClientContext.Current; 2 Web site = context.Web; 3 List tasks = site.Lists.GetByTitle(“MyTasks”); 4 this.items = tasks.GetItems(new CamlQuery()); 5 context.Load(this.items); 6 context.ExecuteQueryAsync(OnSuccess, OnFailure);
使用Linq
ClientContext context = ClientContext.Current; Web site = context.Web; this.tasks = site.Lists.GetByTitle(“MyTasks”); ListItemCollection items = tasks.GetItems(new CamlQuery()); var query = from t in items select t; this.results = context.LoadQuery(query); context.ExecuteQueryAsync(OnSuccess, OnFailure);
创建Task类
public class Task { public int Id { get; set; } public string Title { get; set; } public string Status { get; set; } public string Priority { get; set; } }
查询如下
var data = from t in this.results select new Task { Id = t.Id, Title = (string)t.FieldValues[“Title”], Status = (string)t.FieldValues[“Status”], Priority = (string)t.FieldValues[“Priority”] }; dataGrid1.ItemsSource = data;