Atlas学习手记(Ajax.net)

UpdatePanel是Atlas中一个很重要的控件,功能强大且容易使用,可以使我们只做很小的改动就可以向已有的ASP.NET站点添加Ajax。采用Dflying的建议,我也是由UpdatePanel进入Atlas的世界。本文将通过可视化和代码两种方式来实现向已有的ASP.NET应用程序中添加UpdatePanel。


主要内容


1.UpdatePanel概述

2.使用可视化方式

3.使用代码方式

 

一.UpdatePanel概述

UpdatePanel是Atlas中一个很重要的控件,功能强大且容易使用,可以使我们只做很小的改动就可以向已有的ASP.NET站点添加Ajax。采用Dflying的建议,我也是由UpdatePanel进入Atlas的世界。本文将通过可视化和代码两种方式来实现向已有的ASP.NET应用程序中添加UpdatePanel。看一小段UpdatePanel的示例程序:

 

<Atlas:UpdatePanel ID="UpdatePanel1" runat="server" Mode="Always">

    <Triggers>

        <Atlas:ControlEventTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" />

    </Triggers>

    <ContentTemplate>

       <asp:Label ID="Label1" runat="server" Width="164px" Font-Bold="True"></asp:Label>

    </ContentTemplate>

</Atlas:UpdatePanel>

 

我们需要注意的是:

1.UpdatePanel的更新方式有两种,即上面的Mode


更新方式

说明

Always

每次AJAX PostBack或是普通PostBack的时候都会更新该Panel的内容

Mode="Always"

Conditional

只有满足如下某一条件时才更新该Panel的内容:

当Panel中的某个控件引发了PostBack时

当Panel所指定的某个Trigger被引发时

当Panel的Update()方法在Codebehind中被调用时

Mode=" Conditional"

2.Triggers元素指定了发生动作的事件源,UpdatePanel提供两种引发异步PostBack的Trigger:


Triggers

说明

ControlValueTrigger

当某个控件的某个指定的属性变化时更新。

<Atlas:ControlValueTrigger ControlID="DropDownList1" PropertyName="SelectedValue" />

ControlEventTrigger

当某个控件发出指定事件时更新。

<Atlas:ControlEventTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" />

3.ContentTemplate元素中指定了希望更新的部分,我们把需要动态更新的控件等都放在ContentTemplate中。下面我们将通过通过可视化和代码两种方式来看一下如何使用UpdatePanel。

二.使用可视化方式添加

1.新建Web Site项目,添加一个DropDownList和一个Label,并为DropDownList添加一些简单的Item:

 

<asp:DropDownList ID="DropDownList1" runat="server" Width="167px" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">

    <asp:ListItem>Nancy</asp:ListItem>

    <asp:ListItem>Andrew</asp:ListItem>

    <asp:ListItem>Janet</asp:ListItem>

    <asp:ListItem>Margaret</asp:ListItem>

</asp:DropDownList>

 

设置DropDownList的AutoPostBack属性为True,在SelectedIndexChanged事件中添加如下代码:

 

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

    this.Label1.Text = "Selected : " + this.DropDownList1.SelectedValue;

}

 

2.运行程序,这是一个标准的ASP.NET应用程序,Label将根据DropDownList的选择不同显示不同的文本,但是这个页面是完全刷新的,在选择的时候,浏览器的状态栏将会显示一个进度条,如下图所示:

下面我们将通过可视化的方式为该应用程序添加上Atlas UpdatePanel。

3.托拽一个UpdatePanel控件到页面上,如何添加Atlas控件到工具箱请参考Add“Atlas”controls to the toolbox,这时将会自动添加Microsoft.Web.Atlas.dll到项目中。

4.添加ScriptManager到页面。

5.设置EnablePartialRendering属性为True。

6.拖拽Label控件到UpdatePanel中,并设置UpdatePanel的属性和Triggers。

至此,我们就通过可视化的方式完成了对UpdatePanel的添加,运行程序就会看到效果了。

三.使用代码方式添加

接上面的第二步,我们看看添加具体的代码。添加完Microsoft.Web.Atlas.dll的引用后,在页面中先添加:

 

<%@ Register Assembly="Microsoft.Web.Atlas" Namespace="Microsoft.Web.UI" TagPrefix="Atlas" %>

 

添加ScriptManager控件,并设置EnablePartialRendering属性为true,这一点切记!关于ScriptManager的详细介绍可以参考Atlas学习手记(2):全面了解ScriptManager。

 

<Atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">

</Atlas:ScriptManager>

 

下面就该主角UpdatePanel登场了,在这里需要设置Triggers,Triggers指定了发生动作的事件源,也可以设置UpdatePanel的更新方式。

 

<Atlas:UpdatePanel ID="UpdatePanel1" runat="server">

    <Triggers>

        <Atlas:ControlValueTrigger ControlID="DropDownList1" PropertyName="SelectedValue" />

    </Triggers>

    <ContentTemplate>

       <asp:Label ID="Label1" runat="server" Width="164px" Font-Bold="True"></asp:Label>

    </ContentTemplate>

</Atlas:UpdatePanel>

 

这里我们设置的是ControlValueTrigger,如果要设置ControlEventTrigger,代码如下:

 

<Atlas:UpdatePanel ID="UpdatePanel1" runat="server">

    <Triggers>

        <Atlas:ControlEventTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" />

    </Triggers>

    <ContentTemplate>

       <asp:Label ID="Label1" runat="server" Width="164px" Font-Bold="True"></asp:Label>

    </ContentTemplate>

</Atlas:UpdatePanel>

 

到这儿所有的步骤都做完了,运行就可以体会到效果了。在这个过程中,我们并没有考虑任何的XMLHTTPRequest或者ActiveX对象,也没有编写任何的客户端脚本代码,这一切Atlas已经完全为我们做好了。

时间: 2024-07-31 20:12:22

Atlas学习手记(Ajax.net)的相关文章

学习使用AJAX之前必须了解的知识

学习使用AJAX之前,有几样的东西是必须的: 1.HTML 2.DHTML,就是动态HTML,这里可能会常用到document.getElementById([id])方法,或者是使用 window.id.value=[value]等等,如果不熟悉,不及,看看下面的例子,如果还不能够理解,再把网上搜搜, 这方面的解释多得不能够再多了. 3.Javascript.这个就是非常的重要的,因为好多东西都需要通过这个去操作. 4.DOM.这个不是必须的,就算我们不知道这个东西,照样可以用JAVASCRI

嘿嘿。今天学习了AJAX的几个方法

原文:嘿嘿.今天学习了AJAX的几个方法                    今天学习了AJAX的几个方法,其实我很早在公司实习的时间就认识了它,但是对它一无所知,也并没有去学习它,今天学习它让我感到很兴奋因为重新了解了它,嘿嘿,下面就来总结一下今天学习的吧.           一.在javascript中写AJAX <script> window.onload = function () { document.getElementById("txtName").onb

《vi和vim》 学习手记(1)

O`Reilly 系列图书,广受好评,我也特地买了其中的几本,望有所收获. 第一部分  基础与高级的vi 行编辑器:ed 或 ex 全屏编辑器:vi 或 emacs UNIX分 商用系统 以及 源代码可用的相似系统. 商用系统包括 Solaris AIX HP-UX 相似系统:gnu/linux    bsd衍生系统 [plain] view plaincopyprint? <span style="font-family:KaiTi_GB2312;font-size:18px;"

《linux c编程指南》学习手记2

第5章 使用make make寻找makefile的规则是在当前目录下依次查找3个文件----GNUmakefile文件,Makefile文件,makefile文件 第6章 进程控制 进程属性: 进程标识符 所占内存空间 相关文件描述符 安全信息 进程环境 信号处理 资源安排 同步处理 进程状态 system函数: 通过调用 fork exec waitpid函数完成,任何一个错误,都会导致system错误 本文转自博客园xingoo的博客,原文链接:<linux c编程指南>学习手记2,如需

《linux c编程指南》学习手记4

7.1 文件系统简介 7.1.1 文件 文件类型:普通文件.目录文件.链接文件.设备文件.管道文件 文件权限:r w x 访问权限:文件所有者.文件所有者同组用户.其他用户 7.1.2 索引节点 7.1.3 文件系统 树形层次结构系统,文件最终都归结到根目录/上 7.2 基于文件描述符的IO操作 7.2.1文件的创建.打开与关闭 1 文件的创建 create 2 文件的打开 open (文件操作不能保证都是成功的,因此文件操作都要进行检测,如果错误要终止程序) 3 文件的关闭 close 7.2

《vi和vim》 学习手记(2)

[plain] view plaincopyprint? :set wm=10 设置与右边界的距离.右边界为10个字符.   o 移到一行的开头   s 移到一行的结尾   w 移到下一个单词的   b 退后一个单词   S 更改一行文本   ~更改大小写   d 删除   dw 删除单词   dd 删除一行   p 放置命令   yy拖拽   . 重复动作   u 撤销   J 合并两行   编辑命令 文本对象  更改 删除 复制 一个单词 cw dw  yw 两个单词 2cW/c2W 2dW

解析Atlas—微软的Ajax工具包

ajax|微软 微软已经在进行一个版本Visual Stuido 的研发,其中一个重要的研究方向就是通过Ajax风格的编程在浏览器中实现日益流行的富客户端应用. 今后的IE中将拥有Ajax所需的所有东西--DHTML.JScript和XmlHttp.实际上Outlook Web Access从1998年开始就已经提供了这种伟大的浏览体验了.在ASP.NET 2.0中,微软使用异步回调及舒适的Ajax风格的应用程序的编写更加简单,并且,微软为此提供了大量的内建控件. 目前,几乎所有的浏览器都提供了

Atlas—微软的Ajax工具包(来自MSDN Scott Guthrie)

ajax|微软 微软现在已经进入了ASP.NET 2.0和Visual Web Developer 2005发布版最后的RTM里程碑时刻.为了达到ZBB(Zero Bug Bounce),微软已经锁定了这些产品的特性,着重优化最终的质量.性能和可靠性.   与此同时,微软开始了下一个发布版本的研发,其中一个重要的研究方向就是通过Ajax风格的编程在浏览器中实现日益流行的富客户端应用.   今后的IE中将拥有Ajax所需的所有东西--DHTML.JScript和XmlHttp.实际上Outlook

Mootools1:Mootools1.2学习笔记のAjax

最近在学习和利用mootools,关于mootools的Ajax异步请求方法,记录一下,方便以后查看:方法一:<html><input id="loadJson" type="button" value="loadJson"/></html><script>$('loadJson').addEvent('click', function(e){e.stop();var request = new R