《《ASP实训教程》第9章.ppt》由会员分享,可在线阅读,更多相关《《ASP实训教程》第9章.ppt(96页珍藏版)》请在三一办公上搜索。
1、第9章 ASP.NET相关知识,9.1 实验一 实现对XML的操作9.2 实验二 编写简单的WebService应用9.3 实验三 编写简单的Ajax应用,9.1 实验一 实现对XML的操作,实验目的 1.了解XML语言结构。2.会利用ASP.NET操作XML文件。,下一页,返回,9.1 实验一 实现对XML的操作,实验内容 1.利用ASP.NET编程创建XML文件 1)使用DataSet对象创建XML文件 参考代码如下:,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作
2、,在以上代码中,DataSet利用WriteXml方法将从数据中加载的数据写入my.xml文件中,其中“da.Fill(ds,Customers)”语句中的表别名Customers用来生成XML文件中elementname的值,创建XML文件时,如果创建日录下存在my.xml文件将被覆盖。打开创建完毕的myxml.xml文件,如图9-1所示。2)使用XmlDocument对象创建XML文件 参考代码如下:,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上
3、一页,9.1 实验一 实现对XML的操作,在以上代码中,使用XmlDocument对象创建XML文件。使用XmlDocument对象可以直接操作XML文件,使用起来比较方便,但是在性能方面与XmlTextWirter相比就差一些。可以自己打开应用程序根目录下的Diaiy.xml文件查看结果。3)使用XmlTextWriter对象创建XML文件 参考代码如下:,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,使用X
4、mlTextWriter对象创建XML文件性能好,但是不太方便。其中“XmlTextWriter writer=new XmlTextWriter(Server.MapPath(”Friend.xml“),Encoding.UTFB);”语句中的“Encoding.UTFB”是编码类型,表示将以哪种流文件形式输出XML文件,包括、和II。,下一页,返回,上一页,9.1 实验一 实现对XML的操作,2.利用ASP.NET编程读取XML文件 1)使用XML控件读取XML文件XML控件是一个Web服务器控件,通过设置控件的DocumentSource 属性可以快速读取指定的XML文件。参考代码如下:
5、,下一页,返回,上一页,9.1 实验一 实现对XML的操作,浏览网页,可以看到如图9-2所示的页面。,下一页,返回,上一页,9.1 实验一 实现对XML的操作,2)使用DataSet对象读取XML文件 参考代码如下:,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,其中,dg.DataSource=ds.Tables Customers.Default View;”中的Customers是文件myxml.xml中“”的name值。浏览网页,可以看到如图9-3所示的页面。3)使用XmlDocument对象读取XML文件 使用Xm
6、lDocument对象读取XML文件比较简单,只需要定义一个XmlDocument对象实例,然后载入XML文件,并把数据绑定到XML控件上即可。参考代码如下:,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,4)使用XmlTextReader对象读取XML文件 使用XmlTextReader对象读取XML文件有些麻烦,需要逐条读取每个元素和值,一般使用循环语句来快速读取。不过使用XmlTextReader对象可以自定义数据显小样式。参考代码如下:,下一页,返回,上一页,
7、9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,下一页,返回,上一页,9.1 实验一 实现对XML的操作,注意导入System.Xml命名空间。其中XmlTextReader对象的Read方法是读取XML文档最基本的方法,它以文本流形式读取XML文档中的每个节点,并移动到下一个,当读到结尾时返回false,结束循环。浏览网页,可以看到如图9-4所示的页面。,返回,上一页,9.2 实验二 编写简单的WebService应用,实验目的 1
8、.了解WebService技术的基本原理。2.能够通过WebService技术实现两个Web应用程序之间的数据交流。,下一页,返回,9.2 实验二 编写简单的WebService应用,实验内容 1.编写一个简单的WebService程序 编写计算输入日期为星期几的WebService程序,通过Visual Studio提供的调用测试验计编写是否成功。新建WebService项目,具体步骤可以参考北京理工大学出版社所出版的ASP.NET实用教程中节内容操作。添加文件WhatWeek.asmx,代码如下:,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一
9、页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,浏览网页,可以看到如图9-5所示的页面。单击Week方法,打开如图9-6所示的页面,输入相应日期,单击“调用”按钮,显示如图9-7所示的结果页面。,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,2.简单实现两个系统的信息
10、集成 现在应用系统集成成为各大企业信息化建设的关键任务,企业各业务部门有自己的应用系统,如则务系统、人力资源系统、物资竹理系统、门户网站、协同办公系统等,各系统内业务功能完善,但在数据横向交流上不是特别通畅,需要一种技术实现各信息系统的信息交流,Webs ervice是其中比较常用的一种。下面实现一个简单的待办工作集成的Web service将业务系统中的待办工作接入门户网站中显示,使企业用户只需登录门户系统即可办理业务系统的待办工作,待办工作如需审批文件等。,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,具体操作步骤如下。1)了解Web Service与其他系统的
11、关系 为了便于理解,先看一下Web service与门户系统和业务系统的关系,其关系图如图9-8所示。,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,在图9-8中,待处理数据的产生、更新、取消的操作都是由各业务系统触发的,在业务系统内容修改的同时调用Web Service更新数据中心的数据,门户网站负责将数据显示到用户面前,用户操作待办工作会链接到相应业务系统的具体信息操作界面。其中单点登录也是集成的重要内容,可以简单地理解为在门户中验证身份后访问其他业务系统无须再进行身份验证操作。,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,2)操作
12、数据表结构 在编写Web service时需要知道数据库中存储待办工作数据的表结构,简单表结构一般如表9.1所示。3)编写Web Service项目 新建Web Service项目,具体步骤可以参考北京理工大学出版社出版的ASP.NET实用教程中节内容操作。由前面的分析了解到,需要实现产生、结束、取消待办任务3种功能,将其分别命名为TaskAdd、TaskUpdate、TaskCancel。,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,WebS ervice的结构框架如图9-9所示。其TaskManager.asmx代码如下:,下一页,返回,上一页,9.2 实验二
13、 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,下一页,返回,上一页,9.2 实验二 编写简
14、单的WebService应用,运行程序,可以看到如图9-10所示的页面。单击TaskAdd方法,输入相应参数数据,如图9-11所示,单击“调用”按钮,可以看到如图9-12所示的页面。4)在业务系统中调用WebService 在应用程序中引用WebService参考北京理工大学出版社所出版的ASP.NET实用教程中节内容操作,引用名称为taskService,下面来看下调用服务的部分代码。,下一页,返回,上一页,9.2 实验二 编写简单的WebService应用,在数据中心中添加待办任务:完成待办任务:取消待办任务:Web service在实际应用中有更复杂的逻辑实现和安全传送的要求,可以根据以
15、上基础知识进一步研究Web Service技术的应用。,返回,上一页,9.3 实验三 编写简单的Ajax应用,实验目的 1.了解Ajax的执行原理。2.会使用Ajax Pro编写Ajax程序。,下一页,返回,9.3 实验三 编写简单的Ajax应用,实验内容 1.实现简单的算术运算 AjaxPro.dll是Ajax的程序集文件,可以利用AjaxPro.dll实现简单的加、减、乘、除算术运算功能,操作步骤如下。(1)新建Web应用程序,添加AjaxPro.dll引用,如图9-13、图9-14、图9-15所示。使用AjaxPro.dll需要在项目的Web.config文件中添加配置信息,在下面添加以
16、下配置语句即可:,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,配置完成后,在前台调用的后台事件前添加AjaxPro.AjaxMethod代码,然后就可以通过在前台直接访问后台的方法了。,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,(2)编写代码。编写一个后台方法通过传递不同类型的运算符来计算结果。参考代码如下:,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下
17、一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,在以上程序中,AjaxPro.dll是如何发挥作用的?首先在页面的Page_ Load事件中添加了AjaxFi o.Utility.RegisterTypeForAja
18、x(typeof(aaithmetic),然后在需要前台调用的后台事件前添加了AjaxFro.AjaxMethod,此时就可以通过在前台直接访问后台的方法了,如book.aaithmetic.add(a,b,v).value。浏览网页,输入数据进行测试,结果如图9-16所示。,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,2.实现对数据库中表数据的联动查询 利用AjaxPro.dll实现对数据库中表数据的联动查询,如合同类别分为大类别技术类、资产类等,每个大类别下又分为若干小类别,在选择大类别时,会显示相应的小类别,操作步骤如下。(1)新建Web应用程序,添加AjaxPro.d
19、ll引用,并在项目的Web.config中添加配置信息,具体操作如前面所述。,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,(2)设计并创建数据表。要求除了有合同大类别外,每个小类别都隶属于一个大类别,如果把大类别同样看做隶属于一个更大的分类,就找到了它们的共同点,无论大小类别都有两个属性:名称、隶属类别。为数据表设置3个字段,主键id、类别名称name、隶属类别标识parentId,创建数据表conttype的SQL语句如下:,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,create table conttype(id int not null,name v
20、archar(100)collate Chinese _ PRC _ CI_AS null parentId int null)on primary go,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,(3)进行程序设计。首先在界面上添加一个显示大类别的下拉列表框,再添加一个显示小类别的HTML标记,如div,因为如果用ASP.NET的Web服务器控件显示数据会刷新页面,使Ajax Pro无法正常执行。(4)编写代码。编写两个方法,一个是加载大类别数据的dataLoad,一个是查询返回小类别字符串的dataShow。参考代码如下:,下一页,返回,上一页,9.3 实验三 编写简单
21、的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,下一页,返回,上一页,9.3 实验三 编写简单的Ajax应用,在以上代码中,为DropDownListl添加前台事件使用了Attributes.Add
22、方法:Drop Down Listl.Attributes.Add(onchange,div1.innerHTML=(Drop Down Listl.options Drop Down Listl.selected Index.value).value),这是为后台Web服务器控件添加前台事件常用的方法。浏览网页,选择合同大类别后,可以看到如图9-17所示的页面。,返回,上一页,图9-1 myxm1.xm1文件的结果,返回,图9-2 使用XML控件读取XML文件的结果,返回,图9-3 使用Data Set对象读取XML文件的结果,返回,图9-4 使用Xm1TextReader对象读取XML文件
23、的结果,返回,图9-5 What Week Web服务页面,返回,图9-6 What Week服务调用页面,返回,图9-7 What Week服务调用结果页面,返回,图9-8 Web Service与系统关系图,返回,表9.1 简单待办工作表结构说明,返回,图9-9 Web Service的结构框架图,返回,图9-10 Task Manager服务页面,返回,图9-11 Task Manager服务调用页面,返回,图9-12 Task Manager服务调用结果页面,返回,图9-13 添加程序集引用,返回,图9-14“添加引用”对话框,返回,图9-15“选择组件”对话框,返回,图9-16 应用Ajax实现的结果页面,返回,图9-17 联运查询结果页面,返回,