惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
B
Blog
月光博客
月光博客
博客园 - 【当耐特】
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
博客园 - Franky
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
B
Blog RSS Feed
H
Help Net Security

博客园 - HenryZhang

Javascript 使用类 用javascript按需加载.js和.css文件 考虑了全半角的SubString window.open 打开的窗口关闭后 javascript小技巧 看完越狱20件必须懂的东西(转) vs2005 安装sp1 NHibernate1.2在VS2005下的配置 AJAX第十一天 AJAX第十天 AJAX第九天 AJAX第八天 AJAX第六天 JavaScript常用正则表达式 JS正则表达式问题终于解决 Ajax第五天 Ajax第四天 上传文件时用到的显示文件大小 除去所有在html元素中标记
AJAX第七天
HenryZhang · 2007-01-24 · via 博客园 - HenryZhang

上一篇学习了UpdateProgress,现在看看用JS脚本来控件它。

首先,用JS脚本控制它取消更新

先在UpdateProgress里放一个Html按钮,并设置它的onclick为自己定义的函数,如下:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
 <asp:Label ID="Label1" runat="server" Text="Panel Rendered"></asp:Label>
 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Refresh" />
    </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
 <span style="font-size: 10pt; font-family: 宋体">Processing…<input id="Button2" type="button"
     value="Cancel" onclick="CancelAsyncPostBack();" /></span>
    </ProgressTemplate>
</asp:UpdateProgress>

再看一下自己定义的函数:

<script language="javascript" type="text/javascript">
        function CancelAsyncPostBack()
        {
            var prm = Sys.WebForms.PageRequestManager.getInstance();
            prm.abortPostBack();
        }
    </script>

注意var prm 一句要放在FUNCTION里面,否则可能会报Sys未定义的错误。

编译运行,单击refresh按钮并立即单击Cancle按钮结束异步更新,注意到UpdatePanel中的时间信息并没有更新。

再看看 通过客户端脚本显示或者隐藏进度信息

文中说到,

在下列情况下,UpdateProgress控件将不会自动显示:

    UpdateProgress控件关联的UpdatePanel之外的控件引发的异步更新。

    UpdateProgress控件没有关联任何UpdatePanel,不在UpdatePanel中的控件引发的异步更新(例如用代码实现的更新)。

好像有点绕口,个人理解:

1、引发更新的控件不在UpdatePanel中

2、UpdateProgress和UpdatePanel没有关联

做例子去了。。。。。。

这个例子还是有点难度了,呵呵,看了半天,也遇到了几个麻烦,转到下一篇,好好说说。