silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

YJingLee's Blog 把握点点滴滴! 博客园 社区 首页 新随笔 联系 管理 订阅 随笔- 74  文章- 0  评论- 891  Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web service进行数据CRUD操作(下) Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web service进行数据CRUD操作(下)





























Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下)




Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web service进行数据CRUD操作(下)


上一篇中,我们把这个实例的基本部分完成了,也完成了Web service关于调用数据库CRUD四个方法。这篇我们利用Silverlight 2完成这几个功能,由于本篇目的明确,分为四个操作,每个操作分别建立前台界面和后台代码实现,最后整合为一个整体。


上一篇Silverlight 2 (beta1)数据操作(1)——使用ASP.NET Web Service进行数据CRUD操作(上)


本篇包含以下内容



我们把各个部分分别用用户控件实现,然后在Page.xaml中一起整合起来。


添加数据部分


前台界面


Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园


后台代码

//按钮事件
void saveButton_Click(object sender,RoutedEventArgs E)
{
if (userName.Text.Trim() == String.Empty)
{
errmessage.Foreground = new SolidColorBrush(Colors.Red);
errmessage.Text = "请输入用户名称!";
errmessage.Visibility = Visibility.Visible;
return;
}
//调用Webservice
WebserviceProxy.UseRMANageSoapClient userMgrSoapClient =
new YJingLee.WebSrv.WebserviceProxy.UseRMANageSoapClient();
//创建用户操作
userMgrSoapClient.CreateUserAsync(userName.Text);
userMgrSoapClient.CreateUserCompleted +=
new EventHandler CreateUserCompletedEventArgs>
(userMgrSoapClient_CreateUserCompleted);
}
void userMgrSoapClient_CreateUserCompleted( object sender,
YJingLee.WebSrv.WebserviceProxy. CreateUserCompletedEventArgs E)
{
if (e.Error == null)
{
errmessage.Text = "创建用户成功!";
errmessage.Foreground = new SolidColorBrush( Colors.bluE);
errmessage.Visibility = Visibility.Visible;
}
else
{
errmessage.Foreground = new SolidColorBrush( Colors.Red);
errmessage.Text = e.Error.ToString();
errmessage.Visibility = Visibility.Visible;
}
}

查询数据部分


前台界面


我们使用Silverlight 2自带的DataGrid控件绑定数据。前台非常简单,只是一个DataGrid控件,但是前段时间有的同学问DataGrid控件不知怎么弄进来。这里详细说明一下。


第一步:在Silverlight工程中添加引用


Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园


第二步:查找System.Windows.Controls.Data程序集,添加进来


Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园


第三步:在UserControl中添加这个引用,有智能感知。我将其命名为Data。


Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园


前台编写代码如下

<Button x:Name="reButton" Content="刷新"
Width="50" Height="30" Grid.Row="0"> Button>
<
Data:DataGrid x:Name="userDataGrid" Height="200"
Width="700" @H_697_333@margin
="0,5,10"
AutoGeneratecolumns="True"
VerticalAlignment="Top" Grid.Row="1">
Data:DataGrid>

后台代码

//显示数据
void LisTingControlDisplay(object sender,RoutedEventArgs E)
{
WebserviceProxy.UseRMANageSoapClient userMgrSoapClient =
new YJingLee.WebSrv.WebserviceProxy.UseRMANageSoapClient();
userMgrSoapClient.RetrieveUsersAsync();
userMgrSoapClient.RetrieveUsersCompleted +=
new EventHandler RetrieveUsersCompletedEventArgs>
(userMgrSoapClient_RetrieveUsersCompleted);
}
void userMgrSoapClient_RetrieveUsersCompleted( object sender,
YJingLee.WebSrv.WebserviceProxy. RetrieveUsersCompletedEventArgs E)
{
if (e.Error == null)
displayData(e.Result);
}
private void displayData( String xmlContent)
{
try
{
if (xmlContent != String.Empty)
{
XDocument xmlUsers = XDocument.Parse(xmlContent);
var users = from user in xmlUsers.Descendants( "User")
SELEct new
{
UserID = Convert.ToInt32
(user.Element( "UserID").value),
UserName = ( String)
user.Element( "UserName").Value
};
List< User> usersList = new List< User>();
foreach ( var u in users)
{
User use = new User
{ UserID = u.UserID,UserName = u.UserName };
usersList.Add(usE);
}
userDataGrid.Itemssource = usersList;
}
else
{
userDataGrid.Itemssource = null;
}
}
catch ( Exception eX)
{

Console.Write(ex.messagE);
}
}
public class User
{
public int UserID { get; set; }
public String UserName { get; set; }
}

修改数据部分


前台界面


@L_607_58@


后台代码

void updateButton_Click(object sender,RoutedEventArgs E)
{
if (userID.Text.Trim() == String.Empty)
{
errmessage.Foreground = new SolidColorBrush(Colors.Red);
errmessage.Text = "请输入用户ID!";
errmessage.Visibility = Visibility.Visible;
return;
}
if (userName.Text.Trim() == String.Empty)
{
errmessage.Foreground = new SolidColorBrush(Colors.Red);
errmessage.Text = "请输入用户名称!";
errmessage.Visibility = Visibility.Visible;
return;
}
WebserviceProxy.UseRMANageSoapClient userMgrSoapClient =
new YJingLee.WebSrv.WebserviceProxy.UseRMANageSoapClient();
//调用新用户方法
userMgrSoapClient.updateUserAsync
(Int16.Parse(userID.Text.Trim()),userName.Text.Trim());
userMgrSoapClient.updateUserCompleted +=
new EventHandler updateUserCompletedEventArgs>
(userMgrSoapClient_updateUserCompleted);
}
void userMgrSoapClient_updateUserCompleted( object sender,
YJingLee.WebSrv.WebserviceProxy. updateUserCompletedEventArgs E)
{
if (e.Error == null)
{
errmessage.Text = "修改用户成功!";
errmessage.Foreground = new SolidColorBrush( Colors.bluE);
errmessage.Visibility = Visibility.Visible;
}
else
{
errmessage.Foreground = new SolidColorBrush( Colors.Red);
errmessage.Text = e.Error.ToString();
errmessage.Visibility = Visibility.Visible;
}
}

删除数据部分


前台界面


Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园


后台代码

void deleteButton_Click(object sender,RoutedEventArgs E)
{
if (userID.Text.Trim() == String.Empty)
{
errmessage.Foreground = new SolidColorBrush(Colors.Red);
errmessage.Text = "请输入用户ID!";
errmessage.Visibility = Visibility.Visible;
return;
}
WebserviceProxy.UseRMANageSoapClient userMgrSoapClient =
new YJingLee.WebSrv.WebserviceProxy.UseRMANageSoapClient();
//调用删除方法
userMgrSoapClient.deleteUserAsync
(Int16.Parse(userID.Text.Trim()));
userMgrSoapClient.deleteUserCompleted+=
new EventHandler deleteUserCompletedEventArgs>
(userMgrSoapClient_deleteUserCompleted);
}

void userMgrSoapClient_deleteUserCompleted( object sender,
YJingLee.WebSrv.WebserviceProxy. deleteUserCompletedEventArgs E)
{
if (e.Error == null)
{
errmessage.Text = "删除用户成功!";
errmessage.Foreground = new SolidColorBrush( Colors.bluE);
errmessage.Visibility = Visibility.Visible;
}
else
{
errmessage.Foreground = new SolidColorBrush( Colors.Red);
errmessage.Text = e.Error.ToString();
errmessage.Visibility = Visibility.Visible;
}
}

整合程序


在Page.xaml页面中布局,并引入用户控件,添加4个HyperlinkButton ,单击事件用户控件在中间区域显示。例如下面一个按钮事件:

deleteCtl.Visibility = Visibility.Visible;
entryCtl.Visibility = Visibility.Collapsed;
lisTingCtl.Visibility = Visibility.Collapsed;
editCtl.Visibility = Visibility.Collapsed;

最终效果图如下所示:


Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园


结语


用这个实例我们学习了在Silverlight 2中使用ASP.NET Web service进行数据CRUD操作,这里有一些细节没有完善,比如输入框的验证问题等。下一篇我们利用ADO.NET Data service来操作数据。

大佬总结

以上是大佬教程为你收集整理的Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园全部内容,希望文章能够帮你解决Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下) - YJingLee??s Blog - 博客园所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。