当前位置: 迅达文档网 > 党团工作 >

Asp.Net2.0下客户端脚本调用服务端函数的分析

| 来源:网友投稿

本文介绍了基于B/S结构下在Asp.Net2.0中如何利用客户端脚本调用服务端函数,包括客户端脚本javascript和服务端C#函数的开发。主要内容介绍利用Microsoft Visual Studio 2005工具,结合当今流行的Ajax技术来实现客户端脚本调用服务端函数的功能。

关键字: Asp.Net 2.0;javascript;Ajax;客户端;服务端

一、          引言

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。B/S结构图如下:

图 1-1 B/S结构图

二、         相关实现技术简介

2.1 Visual Studio 2005和Asp.Net 2.0

       Web 应用程序基础结构 ASP.NET将提供 Windows 客户端开发的瘦客户端对应物。通过显著改善的性能、工作效率和安全性,Visual Studio 2005 和 ASP.NET 2.0 将带来简化、高性能且强大的 Web 开发体验。ASP.NET 2.0 将具有一组新的控件和基础结构,可简化基于 Web 的数据访问,并且将包含能够促进代码重用、可视化一致性以及增强美感的功能。

通过使用 Visual Studio 2005 IDE,Web 应用程序开发人员将体验到工作效率方面的显著改善。在启用新的 Web 开发人员 IDE 配置文件后,Visual Studio 2005 将只公开与 Web 应用程序开发有关的功能,从而优化开发环境和用户体验。此外,新的基于目录的项目模型将消除解决方案文件的系统开销,同时通过对直接 IIS 枚举、FTP 和文件系统访问的支持,使 Web 开发人员能够享受传统的基于文件系统的项目范型。

对 ASP.NET 代码隐藏模型的增强消除了对由脆弱工具生成的代码的依赖,这些代码是传统意义上协调 ASP.NET 2.0 Web 页与其关联类文件所需的。使用不完全类,ASP.NET 提供一个更为可靠的模型,以分隔表示标记与代码。不完全类还将使开发人员能够轻松地以内联方式编写代码,从而遵守很多 Web 开发人员所熟悉的模型。其他对 Web 开发的 IDE 工作效率增强功能包括:设计时验证引擎、内联 CSS 支持、更灵活的调试等。

2.2 Ajax与AjaxPro

       Ajax的全称是:Asynchronousjavascript+XML。Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。Ajax包括:

XHTML和CSS

使用文档对象模型(Document Object Model)作动态显示和交互

使用XML和XSLT做数据交互和操作

使用XMLHttpRequest进行异步数据接收

使用javascript将它们绑定在一起

传统的web应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。服务器完成一些处理---接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用。

通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。

不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用javascript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。Ajax模型如下图:

图 2-1 Ajax模型一个Ajax交互从一个称为XMLHttpRequestjavascript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GETPOST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。

现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。

AjaxPro就是做为Ajax技术在dotNet 框架下的实现,作者Michael Schwarz采取了一种封装效果相当棒的技术:将客户端

处理XML、事件调用方式都封装在2个javascript文件中(AjaxPro.prototype.js 和AjaxPro.core.js),同时将这2个重要文件以资源的形式编译于dll中,在处理客户端请求其自定义的.ashx文件时,返回这两个文件。

2.3 具体实现

2.3.1 建立Web项目

       打开Visual Studio 2005,选择[文件]菜单下的“新建网站”。弹出“新建网站”窗口,在“模板”中选择“Asp.Net 网站”、在“位置”中选择“文件系统”、在语言中选择“Visual C#”,然后选“浏览(B)…”。在弹出的“选择位置”的窗口中,选择“文件系统”,并确定保存的文件后,单击“打开”。如下图所示:

图3-1 新建网站

2.3.2 在Visual Studio 2005中引入AjaxPro2

       1、获取AjaxPro2:可以到 http://www.schwarz-interactive.de/ 下载。

       2、在VS2005中打开刚才新建网站的“解决方案资源管理器”。鼠标右键单击根结点,在弹出的菜单中选择“添加Asp.Net文件夹(D)”,并在弹出的子菜单中选择“Bin(N)”。这样我们就在网站中建立一个Bin目录,主要是用于存放引用AjaxPro2的文件。

       3、选择VS2005的“网站”菜单下的“添加引用(R)…”,在弹出的窗口中选择“浏览”选项卡。然后找到下载并解压的AjaxPro.2.dll文件,然后单击“确定”,这样就在网站中引用了AjaxPro2。

2.3.2 配置Web.Config文件

       1、在VS2005中打开刚才新建网站的“解决方案资源管理器”。鼠标右键单击根结点,在弹出的菜单中选择“添加新项(W)…”。在弹出的窗口中,选择“模板”中的“Web配置文件”,单击“添加”按钮。这样我们就在网站中添加了一个Web.Config文件。

       2、在<system.web>与</system.web>之间插入以下代码

<httpHandlers>

<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>

</httpHandlers>

2.3.3 设计主界面

       1、在Default.aspx文件中添加二个Label控件、二个TextBox控件、一个Button控件,并设置相关属性如下:

      

控件类型

属性

Label

Id

Lbldata1

Text

请输入加数:

Label

Id

Lbldata2

Text

请输入被加数:

TextBox

Id

Txtdata1

TextBox

Id

Txtdata2

Button

Id

服务端 调用 脚本 函数 客户端

热门排行

党委党组落实全面从严治党主体责任规定指出本地区本单位发生重大违纪违法案件14篇

党委党组落实全面从严治党主体责任规定指出本地区本单位发生重大违纪违法案件14篇党委党组落实全面从严治党主体责任规定指出本地区本单位发生重大违纪违法案件篇1我

2022年五星支部创建实施方案5篇

2022年五星支部创建实施方案5篇2022年五星支部创建实施方案篇1为切实提高支部党建工作科学化水平、不断夯实党建基础,挖掘支部党建特色,创新支部党建工作做

七言绝句古诗精选【十首】

【 能力训练 导语】七言绝句是中国传统诗歌的一种体裁,简称七绝,属于近体诗范畴。此体全诗四句,每句七

2022年支部党员大会记录内容14篇

2022年支部党员大会记录内容14篇2022年支部党员大会记录内容篇120xx年度我校新党员发展工作已经开始。根据学校党委3月21日会议精神,今年新党员发展

统计工作如何为企业管理服务

作为企业管理重要组成部分的统计工作,在企业的经济运行中发挥着信息、咨询和监督三大作用,它为企业的经营

乡镇创建无毒社区工作方案

一、指导思想以“三个代表”重要思想为指导,认真贯彻落实上级精神,以禁吸戒毒为中心,全面落实禁毒工作责

四年级我家菜园日记500字

菜园子,就是种菜的地方。种菜的时候为了防止家禽进入菜地,于是农夫用篱笆或者栅栏将菜地围起来形成的一个

哈尔移动城堡电影观后有感范本

在观看完一部作品以后,相信你会有不少感想吧,这时我们很有必要写一篇观后感了。可能你现在毫无头绪吧,下

党支部2022年学习计划14篇

党支部2022年学习计划14篇党支部2022年学习计划篇1认真坚持“三会一课”制度,对于加强支部建设,提高党的战斗力、健全党的生活,严格党员管理,充分发挥党