网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

为特定异步回发赋予优先级

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

1 2 3 4 5 下一页

  默认情况下,当某个页同时生成多个异步回发时,最近生成的回发将优先。某些情况下,可以为特定的异步回发赋予优先级并取消其他回发。

  先决条件

  若要在您自己的开发环境中实现这些过程,您需要:

  Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 速成版。

  一个支持 AJAX 的 ASP.net 网站。

  创建用于为特定回发元素赋予优先级的脚本

  首先,创建用于管理浏览器中的异步回发的 ECMAScript (JavaScript) 代码。

  创建用于为特定回发元素赋予优先级的脚本

  在 ASP.NET 网站中,添加 JScript 文件并将其命名为 PostbackPrecedence.js。

  向文件中添加以下脚本:

Sys.Application.add_load(ApplicationLoadHandler) 
function ApplicationLoadHandler(sender, args) 
{ 
  if (!Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack()) 
  { 
   Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitializeRequest); 
  } 
} 
 
var divElem = ''AlertDiv''; 
var messageElem = ''AlertMessage''; 
var exclusivePostBackElement = ''Button1''; 
var lastPostBackElement; 
function InitializeRequest(sender, args) 
{ 
  var prm = Sys.WebForms.PageRequestManager.getInstance(); 
  if (prm.get_isInAsyncPostBack() && 
    args.get_postBackElement().id === exclusivePostBackElement) 
  { 
    if (lastPostBackElement === exclusivePostBackElement) 
    { 
     args.set_cancel(true); 
     ActivateAlertDiv(''visible'', ''A previous postback is still executing. The new postback has been canceled.''); 
     setTimeout("ActivateAlertDiv(''hidden'','''')", 1500); 
    } 
    else if (lastPostBackElement !== exclusivePostBackElement) 
    { 
     prm.abortPostBack(); 
    } 
  } 
  else if (prm.get_isInAsyncPostBack() && 
       args.get_postBackElement().id !== exclusivePostBackElement) 
  { 
    if (lastPostBackElement === exclusivePostBackElement) 
    { 
      args.set_cancel(true); 
      ActivateAlertDiv(''visible'', ''A previous postback is still executing. The new postback has been canceled.''); 
      setTimeout("ActivateAlertDiv(''hidden'','''')", 1500); 
    }    
  } 
  lastPostBackElement = args.get_postBackElement().id;    
} 
 
function ActivateAlertDiv(visString, msg) 
{ 
   var adiv = $get(divElem); 
   var aspan = $get(messageElem); 
   adiv.style.visibility = visString; 
   aspan.innerHTML = msg; 
} 
if(typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded(); 
 

(责任编辑:admin)

  • 上一篇资讯: 取消异步回发
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号