文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发.Net 专栏 → ASP.NET AJAX入门简介

ASP.NET AJAX入门简介

时间:2009/10/21 9:17:00来源:本站整理作者:我要评论(0)

1.安装
l         ASP.NET 2.0 AJAX Extensions 1.0:必备核心组件。
l         ASP.NET AJAX Control Toolkit:控件工具箱,开源项目,包含一些已经创建好的用户控件及扩展器,里面一些组件还是比较好用的。另外创建自己的扩展控件也用到它。
l         Sample Applications:应用实例。
下载地址:http://ajax.asp.net/downloads/default.aspx?tabid=47
2.局部刷新举例
Ajax的机制是异步回传。一般的网页点击一个按钮或触发一个服务器事件后,回传到服务器的时间里,页面变为白色,服务器处理完成返回页面后,才能进行下一项操作,即同步机制。Ajax异步回传后,页面不变,还可以在页面上进行其它操作,服务器返回数据后,只有修改部分才会改变,即局部刷新,有效避免了页面全部刷新。
(1)       新建站点,安装Ajax后,新建站点时选择“ASP.NET Ajax-Enabled Web Site”。(图2.1)。
 
(2)       在Default.aspx的设计页面,可以看到已经增加了一个ScriptManager控件,这个是管理自动生成的脚本的,如果使用异步回传,每个要有且仅有一个ScriptManager。
(3)       打开工具箱,会看到增加了一个Ajax Extensions选项卡(图2.2)。如果安装了Toolkit,还会增加一个Ajax Toolkit选项卡。
 
(4)       向页面拖入一个UpdatePanel。它的作用是设定一个刷新区域,其生成的客户端脚本会控制该区域有请求时只刷新UpdatePanel内部的控件。一个页面可以有多个UpdatePanel。
(5)       从标准控件中,拖一个Calendar日历控件和一个Label到UpdatePanel中,将其ID分别改为CalendarInPanel和lblInPanel。
(6)       拖一个Calendar和一个Lable在UpdatePanel之外,将其ID分别改为CalendarOutPanel和lblOutPanel。
(7)       为两个日历控件分别增加SelectionChanged事件,其后台代码如下:
    protected void CalendarInPanel_SelectionChanged(object sender, EventArgs e)
    {
        lblInPanel.Text = CalendarInPanel.SelectedDate.ToLongDateString();
    }
    protected void CalendarOutPanel_SelectionChanged(object sender, EventArgs e)
    {
        lblOutPanel.Text = CalendarOutPanel.SelectedDate.ToLongDateString();
    }
(8)       以上工作完成后,打开aspx的代码,可以看到body中代码如下:
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <div>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="CalendarInPanel" runat="server" OnSelectionChanged="CalendarInPanel_SelectionChanged">
                    </asp:Calendar>
                    <asp:Label ID="lblInPanel" runat="server" Text="Label"></asp:Label>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
        <asp:Calendar ID="CalendarOutPanel" runat="server" OnSelectionChanged="CalendarOutPanel_SelectionChanged">
        </asp:Calendar>
        <asp:Label ID="lblOutPanel" runat="server" Text="Label"></asp:Label>
    </form>
</body>
(9)       运行程序,可以看到,选择UpdatePanel之内的日历时间时,只有内部的Label显示时间刷新了;而选择UpdatePanel之外的日历时间时,则整个页面都刷新。
3.基本扩展控件
图2.2所示的Ajax基本控件的作用如下:
l         ScriptManager:脚本管理器,用于自动生成和管理客户端脚本,每个页面必须有且仅有一个。
l         UpdatePanel:刷新面板,即将放置到其中的控件组合成一个整体,刷新时刷新这个局部区域,不影响其它。可以通过在页面放入多个UpdatePanel将页面分割成小的局部刷新区域。
l         UpdateProgress:刷新进度提示,由于Ajax是异步回传,事件触发后可以用该控件提示用户正在加载,服务器返回数据后自动消失。
l         Timer:时间触发器,到达规定的毫秒数后触发刷新事件。
l         ScriptManagerProxy:脚本管理器代理,用于引入外部js文件。
4UpdateProgress控件的使用
(1)       在刚才做的例子中,拖一个UpdateProgress到UpdatePanel中。
(2)       在UpdateProgress中输入“正在更新…”。
(3)       由于服务器处理速度太快,我们看不到UpdateProgress的效果,因此我们在服务器端延时处理,修改UpdatePanel中的日历控件的事件代码如下:
    protected void CalendarInPanel_SelectionChanged(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);    // 延时秒
        lblInPanel.Text = CalendarInPanel.SelectedDate.ToLongDateString();
    }
(4)       运行,当点击UpdatePanel中的日历时间时,会看到出现“正在更新…”的提示。
 

相关视频

    没有数据

相关阅读 vs.netIDE报"以下文件中的行尾不一致,要将行尾标准化吗?"的解决ie6下面asp.net mvc3 部署应用程序.NET 3.5 安装错误的四个原因及解决方法支持无限制历史记录的Paint.NET 3.5.8 Final,你用了吗?.NET Framework环境安装错误怎么办?JVM和.NET CLR和哪个会被彻底击败在asp.net mvc中实现右键菜单和简单的分页教程VB.NET如何得到调用当前过程的方法名称和类名称

文章评论
第 1 楼 印度尼西亚 客人 发表于: 2011/11/11 21:07:41
知识共享是乐趣。你有什么感想呢?你会怎样写? batik jogja

支持( 0 ) 盖楼(回复)

查看所有0条评论>>

发表评论

热门文章 没有查询到任何记录。

最新文章 什么是.NET中的TDD?ASP.NET AJAX入门简介 WebMatrix入门教程VC++2008中如何调用GetOpenFileName打开文件PlaySound函数在VC++6.0中如何播放音乐及声请问VC++回调函数怎么用

人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题