探讨微软ASP.NET AJAX控件开发技术(服务器端)

  一、简介

  到目前为止,我们已经讨论了开发Ajax控件所涉及的客户端相关技术。现在,让我们来讨论此过程中与服务器端相关的一些技术。

  需要说明的是,在【客户端】篇中我们的举例本质上仅是使用ASP.NET AJAX框架提供的面向对象JavaScript技术来增强了一个客户端图像组件,而没有明显涉及到AJAX技术(除了ScriptManager在后台以AJAX方式下载并管理客户端脚本代码外)。所以,这个例子是简单的,仅凭客户端相关知识就可以使用这个增强控件。

  但是,在实际开发中,当要增强的客户端控件涉及到AJAX技术时,或者干脆是想增强服务器端组件(如UpdatePanel控件)时,我们必须进行相关的服务器端编程,而这要求我们必须对Ajax控件开发中所涉及的服务器端相关联的类有所了解。而且,还要以ASP.NET 2.0服务器控件开发相关知识为基本前提,特别是在开发复杂的Ajax控件时。

  在本篇中,我们要重新构造一个增强的图像按钮控件MySrvImageButton,此控件将以ASP.NET 2.0服务器控件ImageButton为基础。

  二、AJAX控件开发服务器端相关技术

  首先,让我们来看一下AJAX控件开发服务器端相关组件及其关系,这些类之间的继承关系图如下图1所示。

  

  图1:控件开发涉及的主要服务器端类之间层次结构图

  上图展示了组件、控件和扩展器之间的继承关系。如你所见,为了开发一个控件(注意,Component和Extender不在本文讨论范围之内),我们有两个选择:其一,创建一个派生自ScriptControl的类;其二,创建一个实现IScriptControl接口的类。但是,如果你想使你的控件从WebControl派生,那么,ScriptControl应该是一个更好的选择—因为它正是派生自WebControl控件本身。但是,如果你想从头开发创建你的控件,并且不要求实现WebControl所具备的任何内在特征,那么,实现IScriptControl则更为恰当。此外,当你想在一个现有控件(例如本文中的MySrvImageButton)中添加Ajax特征时选择使用接口IScriptControl也会是你的选择。但是这两种方法都要求重载下列两个方法:①、GetScriptDescriptors;②、GetScriptReferences。

时间: 2024-04-19 19:54:53

探讨微软ASP.NET AJAX控件开发技术(服务器端)的相关文章

探讨微软ASP.NET AJAX控件开发技术(客户端)

本系列文章将通过具体的实例从客户端和服务端两个角度全面探讨ASP.NET AJAX框架中的控件(Control)开发所涉及的技术. 一. 简介 如今,ASP.NET AJAX框架以其与ASP.NET 2.0系统的有机整合与完全面向对象的客户端JavaScript组件模型正在吸引着越来越多的Web开发人员.此外,这个框架还为基于ASP.NET 2.0平台的AJAX Web开发提供了一揽子方案(尽管尚嫌稚气). 首先,我们来回忆ASP.NET AJAX框架设计的主要目标:其一,扩展现有的ASP.NE

让UserControl成为Asp.Net ajax控件

很多时候,我们需要用到User Control,将部份UI或业务逻辑包装,下面将UserControl包装成Asp.Net ajax 控件: 简单示例: (ASCX) 这一段代码就不解释了: 1 <%@ Control Language="C#" AutoEventWireup="true" CodeFile="LoginPanel.ascx.cs" Inherits="LoginPanel" %> 2 <t

asp.net 验证控件不是服务器端控件么? 那它是怎样做到客户端验证的?

问题描述 asp.net 验证控件不是服务器端控件么? 那它是怎样做到客户端验证的? 如题 在提交表数据前 都会有各种验证 有一部分验证适合在客户端做 比如验证"用户名有没填" 理解的客户端验证的好处之一是就是验证了数据 还不增加服务器压力. 这样一来 就搞不懂asp.net的验证控件的原理了 问题1:它真的包括了客户端的验证吗?怎么做的在哪里? 问题2:它是服务器端控件每个动作都会往返一次服务器,如果它真的包括客户端验证,那这个客户端验证还有意义吗? 解决方案 服务端控件其实封装了j

使用asp.net Ajax控件PopupControlExtender与GridView联合显示详情列表

众所周知,由社区开发的AjaxControlToolkit,为asp.net展现富客户端效果和提高web程序性能带来了很大的帮助.里面有大量的实现各种功能的控件可供直接使用. PopupControlExtender就是其中的一个.我们称呼其为"弹出控件".它主要的功能是让asp.net控件打开一个弹出对话框,来显示其他额外的信息或选项.弹出控件可以包含任何内容.特别值得一提的是,弹出控件具备通过Web服务或页面方法取得数据的功能. 根据PopupControlExtender的主要作

探讨ASP.NET 2.0中的Web控件改进技术

asp.net|web|控件 ASP.NET 2.0并没有抛弃1.1版本中的任何现有控件,而是增加了一组新的控件;同时还引入了若干新的控件开发技术.本系列文章将对这些内容展开全面探讨. 一. 引言 到目前为止,你可能已经了解了大量的ASP.NET 2.0新特征-母版页面,主题,提供者,等等--所有这样内容都相当精彩;但是,你是否了解到有关定制Web控件开发方面的重大变化?这正是我在本文中所想讨论的.如果你已经从事于控件开发,那么,我想本文所描述的ASP.NET 2.0中的新的改进特征会立即应用于

求道不远人--深入解析ASP.NET 2.0控件开发pdf书的下载地址

问题描述 求<<道不远人--深入解析ASP.NET2.0控件开发>>pdf书的下载地址 解决方案 解决方案二:这个论谈里面有下载啊解决方案三:http://download.csdn.net/detail/heqian2000/1604281解决方案四:现在能耐下心看这种WEBFORM书的人不多了,基本都是去MVC了.这本书我当时也买了,当时基本看不明白,以自定义控件开发为主讲回发,VIEWSTATE,页面生命周期中的相关事件,页面生命周期,请求的19个事件.其实很多东西,我即便到

ajax-ASP.NET AJAX控件问题。

问题描述 ASP.NET AJAX控件问题. 我使用的是AjaxControlToolKit里的LineChart,用VS2010浏览可以正常显示曲线图,如下图: 发布到IIS6.0后访问,无法显示曲线图,如下图: 百度了下,有人说是AXD文件,没有在IIS映射,我查看过,有设置映射,也允许了脚本执行,到底是哪地方出了问题? 解决方案 用echart不好么..

ASP.net控件开发系列之一 开篇

早段时间,同事之间很流行打CS,所以那段时间的问候变成了"今天你杀XX了吗?" 控件开发也许是程序员最能发掘自己创造力的一件事情吧?控件开发不仅要求你对当前的开发有一个较全面和略深的了解,而且也能促使你去了解开发环境的底层的东西.比方说我在开发控件的过程中就对reflect和MSIL产生了较深的兴趣,也许,在以后的一段时间里,我会尝试去做一个reflector,哈哈,很多事情都很难说地- "今天你写控件了吗?",也许在将来会成为中国.net程序员的一个日常用语,哈哈

基于AJAX.NET技术的DataGrid控件开发

ajax|datagrid|datagrid控件|控件开发 摘要 本文中的这个DataGrid是一个客户端控件,它是使用JavaScript和Ajax.net技术构建的. 一. 简介 本文中要创建的这个DataGrid是一个客户端控件.它是使用JavaScript并且使用Ajax.net技术构建的以实现与ASP.NET后端代码的通讯:而在这个后端,我们使用ADO.NET存取数据库并使用Dataset更新数据库. 这个控件具有一个DataGrid应该具有的一切特征,并且具有在你建立连接串和表名后不