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/
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操作。
Tags:Silverlight 数据
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接