Silverlight+WCF实现一个d出选择框---Part 1

Silverlight+WCF实现一个d出选择框---Part 1,第1张

概述大家都知道微软的Silverlight是个可以在Mac OS, windows和Linux等多个 *** 作系统工作的浏览器插件。而且开发出来的web程序将会是更加安全。   软件配置: 1.       Visual Studio 2008, 2.       Silverlight 2. 3.       SQL Server的Northwind数据库。   设计要求: 下图所示,包含一个button

大家都知道微软的Silverlight是个可以在Mac OS,windowslinux等多个 *** 作系统工作的浏览器插件。而且开发出来的web程序将会是更加安全。

 

软件配置:

1.       Visual Studio 2008,

2.       Silverlight 2.

3.       sql Servernorthwind数据库。

 

设计要求:

下图所示,包含一个button和两个textBox。第一个textBox能够显示了输入数据,第二个textBox只能够显示数据,button按钮用来触发d出的搜索框的事件。

 

d出的搜索框将会显示一个datagrID,同时包含搜索功能,如下图所示:

 

这里有两种方法来把datagrID的数据显示到原来页面的第二个textBox中:

 

下面我们一步一步来创建这个项目。

 

第一步: 创建一个SilverlightWCF 项目。

1.       Visual Studio 2008,新建一个Silverlight项目,起个名字叫做popformdemo,如下图所示:

 

2.       点击OK按钮后,会出现如下的提示:

 

然后在popformdemo项目下添加一个CusControl文件夹,如下图所示:

 

3.       Cuscontrol文件夹下面,添加一个Slilverlight user control文件,命名为’PopForm’如下图:

 

 

第二步:创建一个WCF service项目:

这里又很多方式让silverlight插件访问数据库,最常用的是web servicesWCF。我在这个例子中将会使用WCF来实现。

1.       在解决方案下面,添加一个新的web应用程序起名字为’DaoWcf’,如下图:

  

2.       在新建的项目中添加一个WCFService并命名PopDataService如下图:

 

这时候就会新添加两个IpopDataService.csPOpDataService.svc文件:

 

3.       WCF Service项目的配置:

 DaoWcf项目中,右键属性,设置local IIS wev server:

然后修改web.config中的数据库连接:

 

再修改Service binding模式从wshttpBindingbasichttpBinding

 

第三步: WCF Service项目所用到的代码:

 

PopDataService.svc.cs文件,PopFormClass由一个ID和一个name属性

    [DataContract()]

    public class PopFormClass

    {

        [DataMember]

        public string ID { get; set; }

        [DataMember]

        public string name { get; set; }

}

 

IPopDataService.cs文件中,IPopDataService接口有3个方法。

    [ServiceContract]

    public interface IPopDataService

    {

        [OperationContract]

        List<PopFormClass> GetsqlCustomersData();

        [OperationContract]

        List<PopFormClass> GetsqlEmployeesData();

        [OperationContract]

        List<PopFormClass> GetsqlProductsData();

    }

IPopDataService的后台文件中吧三个抽象函数具体话:

public class PopDataService : IPopDataService

    {

        private string sqlConString;

        public PopDataService()

        {

            sqlConString = ConfigurationManager.ConnectionStrings["northWindDb"].ConnectionString;

        }

        public List<PopFormClass> GetsqlCustomersData()

        {

            List<PopFormClass> List = new List<PopFormClass>();

            try

            {

                List = GetPopData("select CustomerID,Companyname from Customers order by 1");

            }

            catch (Exception ex)

            {

                throw ex;

            }

            return List;

        }

        public List<PopFormClass> GetsqlProductsData()

        {

            List<PopFormClass> List = new List<PopFormClass>();

            try

            {

                List = GetPopData("select ProductID,Productname from Products order by 1");

            }

            catch (Exception ex)

            {

                throw ex;

            }

            return List;

        }

 

        public List<PopFormClass> GetsqlEmployeesData()

        {

            List<PopFormClass> List = new List<PopFormClass>();

            try

            {

                List = GetPopData("select EmployeeID,Lastname,Firstname from Employees order by 1");

            }

            catch (Exception ex)

            {

                throw ex;

            }

            return List;

        }

 

GetPopData(string strsql)方法如下,它将会从数据库读取数据放到List<PopFormClass>:

        private List<PopFormClass> GetPopData(string strsql)

        {

            List<PopFormClass> List = new List<PopFormClass>();

            using (sqlConnection con = new sqlConnection(sqlConString))

            {

                con.open();

                sqlCommand com = new sqlCommand(strsql,con);

                IDataReader dr = com.ExecuteReader();

                while (dr.Read())

                {

                    PopFormClass pf = new PopFormClass();

                    pf.ID = Convert.ToString(dr[0]);

                    pf.name = Convert.ToString(dr[1]);

                    List.Add(pf);

                }

            }            return List;

        }

 

最后是测试一下这个WCF项目是否正常工作:

 

 

总结

以上是内存溢出为你收集整理的Silverlight+WCF实现一个d出选择框---Part 1全部内容,希望文章能够帮你解决Silverlight+WCF实现一个d出选择框---Part 1所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1047725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存