ASP.NET AJAX入门系列(7):使用客户端脚本对UpdateProgress编程 原创 lihuijun 2006-11-12 22:59:00 博主文章分类:AJAX ©著作权 文章标签 客户端 脚本 ASP.NETAJAX UpdateProgress ASP.netAJAX入门系列 文章分类 .Net 后端开发 ©著作权归作者所有:来自51CTO博客作者lihuijun的原创作品,请联系作者获取转载授权,否则将追究法律责任 在本篇文章中,我们将通过编写JavaScript来使用客户端行为扩展UpdateProgress控件,客户端代码将使用ASP.NET AJAX Library中的PageRequestManager,在UpdateProgress控件中,将添加一个Button,来允许用户取消异步更新,并且使用客户端脚本来显示或者隐藏进度信息。 主要内容 1.通过客户端脚本取消异步更新 2.通过客户端脚本显示或者隐藏进度信息 一.通过客户端脚本取消异步更新 1.创建一个Web页面并切换到设计视图。 2.在工具箱中双击ScriptManager、UpdatePanel、UpdateProgress控件添加到页面中。添加后页面如下: 3在UpdatePanel控件中添加一个Label控件并设置它的Text属性值为“Panel Rendered”。 4.添加一个Button控件并设置它的Text属性值为“refresh”。 5.在UpdateProgress控件中添加文本text Processing…,并添加一个HtmlButton控件并设置它的Text属性为cancle。 6.双击refresh控件添加Click事件。 7.在Buttond的Click事件处理中添加如下代码,人为的创建一个3秒钟的延迟并显示当前服务器的时间。 protected void Button1_Click(object sender, EventArgs e){ System.Threading.Thread.Sleep(3000); Label1.Text = DateTime.Now.ToString();} 8.添加如下脚本,获取一个当前PageRequestManager类的实例,并创建一个函数调用abortPostBack方法来停止异步更新。 <script language="javascript" type="text/javascript"><!-- var prm = Sys.WebForms.PageRequestManager.getInstance();function CancelAsyncPostBack() { if (prm.get_isInAsyncPostBack()) { prm.abortPostBack(); }}// --></script> 9.设置HtmlButton的click特性为CancelAsyncPostBack。 10.添加如下的样式块到<head>元素之间。 <style type="text/css">#UpdatePanel1 {}{ width:200px; height:100px; border: 1px solid gray;}#UpdateProgress1 {}{ width:200px; background-color: #FFC080; bottom: 0%; left: 0px; position: absolute;}</style> 11.保存并按Ctrl + F5运行。 12.单击refresh按钮,经过短暂的延时之后显示进度信息,完成异步更新之后UpdatePanel中的信息显示为当前的服务器时间。 13.单击refresh按钮并立即单击Cancle按钮结束异步更新,注意到UpdatePanel中的时间信息并没有更新。 二.通过客户端脚本显示或者隐藏进度信息 在下列情况下,UpdateProgress控件将不会自动显示: 由UpdateProgress控件关联的UpdatePanel之外的控件引发的异步更新。 UpdateProgress控件没有关联任何UpdatePanel,不在UpdatePanel中的控件引发的异步更新(例如用代码实现的更新)。 下面的例子将展示一个不在UpdateProgress所关联的UpdatePanel中的控件所引发的异步更新时,如何显示UpdateProgress控件。 1.在我们前面所创建的页面中,切换到设计视图。 2.选中UpdateProgress控件,在属性窗口中,设置AssociatedUpdatePanelID属性为UpdatePanel1。 3.在UpdatePanel和UpdateProgress控件之外添加一个Button控件。 4.设置Button的Text属性值为Trigger,并设置ID属性为Panel1Trigger。 5.选择UpdatePanel控件,在属性窗口中Triggers属性行单击ellipsis (…)。 6.创建一个异步更新触发器,并设置控件ID为Panel1Trigger。 7.双击Trigger按钮添加Click事件。 8.在Buttond的Click事件处理中添加如下代码,人为的创建一个3秒钟的延迟并显示当前服务器的时间,并附加上一条信息表示是由触发器引发的异步更新。 protected void Panel1Trigger_Click(object sender, EventArgs e){ System.Threading.Thread.Sleep(3000); Label1.Text = DateTime.Now.ToString() + " - trigger";} 9.在代码窗口,在已有的<Script>脚本块中添加如下代码: <script language="javascript" type="text/javascript"><!-- var prm = Sys.WebForms.PageRequestManager.getInstance();function CancelAsyncPostBack() { if (prm.get_isInAsyncPostBack()) { prm.abortPostBack(); }}prm.add_initializeRequest(InitializeRequest);prm.add_endRequest(EndRequest);var postBackElement;function InitializeRequest(sender, args) { if (prm.get_isInAsyncPostBack()) { args.set_cancel(true); } postBackElement = args.get_postBackElement(); if (postBackElement.id = 'Panel1Trigger') { $get('UpdateProgress1').style.display = 'block'; }}function EndRequest(sender, args) { if (postBackElement.id = 'Panel1Trigger') { $get('UpdateProgress1').style.display = 'none'; }}// --></script> 10.保存并按Ctrl + F5运行。 11.单击Trigger按钮,如下所示: [翻译自官方文档] 赞 收藏 评论 分享 举报 上一篇:ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍 下一篇:ASP.NET AJAX入门系列(8):自定义异常处理 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 设置Asp.net Ajax 客户端脚本版本 Asp.Net Ajax提供了Debug和Release两种版本的客户端脚本文件,在发布时要同时将客户端脚本改为发布版本才可以,设置版本可以通过ScriptManager的ScriptMode属性来设置,其属性值为: Auto-根据配置文件中的设置在运行期确定,如deployment元素的retail属性为false且页面元素的debug属性为真,则使用调试版本,否则使用发布版本。 ajax 客户端 休闲 元素 false 新瓶旧酒ASP.NET AJAX(6) - 客户端脚本编程 <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="BeginRequestAndEndRequest.aspx.cs" Inherits="ClientScripti ASP NET AJAX 客户端 脚本 探讨ASP.NET AJAX客户端开发技术 一、 简介 在ASP.NET AJAX组件开发中,存在许多环节有待我们深入挖掘。如何让ASP.NET AJAX服务端控件更有效地利用客户端脚本来为控件添加强大的客户端功能?如何更为方便地访问控件访问的资源,等等。实践证明,要实现最终的应用程序资源(如JavaScript文件、图像或资源文件)的分布,一种良好的方式就是把它们直接嵌入到编译好的.NET程序集内部。 .NET ASP AJAX 客户端 开发 asp.net ajax 客户端框架未能加载 在使用aspx.net 3.5的时候,页面出现"asp.net ajax 客户端框架未能加载" ,有人说是调iis 的"扩展名映射",还有说是在web.config加针对.axd的语句段,本人测试都不好使.花了很多时间.解决方法在web.config 里面的<system.web><globalization requestEncoding="utf-8" respons 职场 ajax asp.net 休闲 开发ASP.NET AJAX客户端定制行为 一、 简介 ASP.NETAJAX框架为开发者提供了三种方案用于扩展该框架的客户端功能:行为,可视化组件及非可视化组件。这三类组件分别对应于Sys.UI.Behavior,Sys.UI.Control及Sys.Component。因为在以前的文章中,对这三个概念有细致介绍,所以在此不再赘述。但是,我们还是有必要再回顾一下其间的关系图,如下图1所示。 ajax ASP.NET 休闲 行为 AJAX客户端 ASP.NET Ajax 客户端框架未能加载。 # ASP.NET Ajax 客户端框架未能加载ASP.NET Ajax 是一种用于在 ASP.NET Web 应用程序中实现 Ajax(Asynchronous JavaScript and XML)功能的框架。它为开发人员提供了一种简单的方式来处理异步请求、更新页面内容和改善用户体验。然而,有时您可能会遇到一个常见的错误消息:“ASP.NET Ajax 客户端框架未能加载”。## 错误 ASP 客户端 xml ASP.NET AJAX入门系列 目录 ASP.NET AJAX入门 控件 asp.net ajax 客户端 母版页 [转]ASP.NET Ajax 客户端框架未能加载。 ASP.NET Ajax 客户端框架未能加载。在网络上搜索到好几个都是说的什么是utf-8的问题,我一般建网站的时候 直接就设置 成utf-8拉,但是我的这么也出现 这个问题呢,我重起了机器也不管用。我想肯定是Web.config的问题,我更换了 新的,把自定和Service设置拷进区 都好了。可是... 其他 ASP.NET Core 使用 Redis 客户端 Mac OS 安装 Redis(用于连 Redis 服务器,方便查看数据):https://redis.io/topics/quickstartwget http://download.redis.io/redis-stable.tar.gz(没有wget命令,手动下载)tar xvzf redis-stable.tar.gzcd redis-stablemakesudo make install java 新瓶旧酒ASP.NET AJAX(3) - 客户端脚本编程(调试和跟踪) [源码下载] ASP NET AJAX 客户端 脚本 ASP.NET:为 AJAX 请求添加客户端事件 代码 删除 ajax 添加 客户端事件 新瓶旧酒ASP.NET AJAX(7) - 客户端脚本编程(Sys命名空间下的类) <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Application.aspx.cs" Inherits="ClientScripting_Sys_Applica NET AJAX 客户端 脚本 Sys ASP.NET AJAX入门系列(7):使用客户端脚本对UpdateProgress编程 在本篇文章中,我们将通过编写JavaScript来使用客户端行为扩展UpdateProgress控件,客户端代码将使用ASP.NET AJAX Library中的PageRequestManager,在UpdateProgress控件中,将添加一个Button,来允许用户取消异步更新,并且使用客户端脚本来显示或者隐藏进度信息。主要内容1.通过客户端脚本取消异步更新2.通过客户端脚本显示或者隐藏进 控件 客户端 javascript 在asp.net中使用客户端脚本 我们常常在asp.net中需要使用到客户端脚本,在asp.net中使用客户端脚本很容易,使用到Page的RegisterClientScriptBlock方法就行了。下面是我写的一段C#代码,用来打开新窗口:using System;using System.Web.UI;namespace MyBill{/// summary/// Configuration 的摘要说明。/// /summarypublic class Configuration{/// summary/// 打开新窗口/// /summary/// param name="pg"请求的页面/para 新窗口 客户端 asp.net 构造函数 c# ASP.NET 2.0 中的客户端脚本 在使用 ASP.NET 的时候,我们仍然在许多情况下需要使用客户端脚本。以下是笔者根据自己的经验和一些粗浅的研究,对此作一个简要的总结。 一、在 HTML 里直接写脚本 这个方法是最简单的,直到如今我写网页的时候也几乎还是使用最多的一种方式。也许一些经常使用 RegisterClientScriptBlock 的人会觉得这种方法老土,不过在我看来,它除了可以减少编译时间以外,更主要的 控件 asp.net 客户端 服务端 javascript ASP.NET 2.0中客户端脚本使用总结(ClientScriptManager) 本文主要对ASP.NET 2.0中客户端脚本的使用方法进行一个简单的总结性概述。 1.使用OnClientClick属性打开客户端脚本,使用方法如下: js脚本:以下是引用片段: ... js脚本 动态注册 javascript 客户端 asp.net