WEB开发网
开发学院图形图像Flash Silverlight 2 (beta1)数据操作(3)——使用ADO.NE... 阅读

Silverlight 2 (beta1)数据操作(3)——使用ADO.NET Data Service (Astoria)进行数据CRUD操作

 2008-10-11 11:42:40 来源:WEB开发网   
核心提示: void retrieveButton_Click(object sender, RoutedEventArgs e){try{string serviceURL ="http://localhost:52600/YJingLee.Astoria_Web/ WebDataServ

void retrieveButton_Click(object sender, RoutedEventArgs e)
{
  try
  {
    string serviceURL =
    "http://localhost:52600/YJingLee.Astoria_Web/
         WebDataService.svc/User/?$orderby=UserID";
    WebClient astoriaService = new WebClient();
    astoriaService.DownloadStringCompleted +=
       new DownloadStringCompletedEventHandler
       (astoriaService_DownloadStringCompleted);
    astoriaService.DownloadStringAsync(new Uri(serviceURL));
  }
  catch (Exception ex)
  {
    Console.WriteLine(ex.Message);
  }
}
void astoriaService_DownloadStringCompleted
      (object sender, DownloadStringCompletedEventArgs e)
{
  if (e.Error == null)
  {
    DisplayUsers(e.Result);
  }
}

以下方法可以把查询出来的数据绑定到控件上。

private void DisplayUsers(string xmlContent)
{      
 XDocument userdoc = XDocument.Parse(xmlContent);
 XNamespace xmlns = "http://www.w3.org/2005/Atom";
 XNamespace ads = "http://schemas.microsoft.com/ado/2007/08/dataweb";
 var users = from x in userdoc.Descendants(xmlns + "entry")
        select new User
        {
          UserID = int.Parse(x.Descendants(ads + "UserID")
                          .First().Value),
          UserName = x.Descendants(ads + "UserName")
                .First().Value
        };
  userList.ItemsSource = users;
}

3.删除数据

删除记录需要在URL中指定用户ID,我在这里指定UserID为5的那个记录,通过HTTP DELETE请求提交给Astoria删除数据。

string serviceURL = "http://localhost:52600/YJingLee.Astoria_Web/
          WebDataService.svc/User(5)/";
XMLHttpRequestWrapper.DoPost(new Uri(serviceURL), "DELETE");

至于更新记录好像在这里不方便,我暂时也不知道用什么方法。

这篇就介绍到这里。从这篇我们知道了如何在Silverlight 2 beta 1中使用ADO.NET Data Service (Astoria)进行数据CRUD操作。

上一页  1 2 3 4 5 6 

Tags:Silverlight 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接