快速业务通道

自定义ASP.NET UpdatePanel控件的错误处理

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
中显示错误消息。

在客户端脚本中自定义错误处理

在前面创建的页面中, 切换到“源”视图。

向该页面中添加以下标记:

   <div id="AlertDiv">
    <div id="AlertMessage">
     </div>
    <br />
    <div  id="AlertButtons">
      <input id="OKButton" type="button"  value="OK" runat="server" onclick="ClearErrorState()" />
     </div>
  </div>
</div>
 

该标记 包括一些元素,您可以使用这些元素显示部分页呈现错误。该标记定义了名称为 AlertDiv 的 <div> 元素,该元素中包含有他两个 <div> 元素。其中一个嵌套 <div> 元素包含有一个 <input> 控件,用户可以利用该 ���件隐藏 <div> 元素。

在 <head> 元素中添 加下列样式标记:

<style type="text/css">
#UpdatePanel1 {  
 width: 200px; height: 50px;
 border: solid 1px gray;
}  
#AlertDiv{ 
left: 40%; top: 40%;
position: absolute;  width: 200px;
padding: 12px;
border: #000000 1px solid;
background-color: white;
text-align: left;
visibility: hidden;
z-index: 99;
} 
#AlertButtons{ 
position: absolute; right:  5%; bottom: 5%;
} 
</style>

该样式可以使错误信息与其他页面内容相比显得更加显眼。

切换到“设计”视图,并验证您的页面是否与下列页面相似:

在“属性”窗口顶部的下拉列表中,选择 DOCUMENT 元素(它表示页面中的 <body> 元素),然后将该元素的 Id 属性设置为 bodytag。

切换到“源”视图。

将下列 <script> 块添加到 <asp:ScriptManager> 元素后的任意位置。

<script type="text/javascript" language="javascript">
var divElem = ''AlertDiv'';
var messageElem = ''AlertMessage'';
var bodyTag = ''bodytag'';
Sys.WebForms.PageRequestManager.getInstance().add_endRequest (EndRequestHandler);
function ToggleAlertDiv(visString)
{
    if (visString == ''hidden'')
    {
      $get(bodyTag).style.backgroundColor = ''white'';
    }
    else
    {
      $get(bodyTag).style.backgroundColor = ''gray'';

    }
    var adiv = $get(divElem);
    adiv.style.visibility = visString;

}
function ClearErrorState() {
    $get(messageElem).innerHTML = '''';
    ToggleAlertDiv(''hidden'');
}
function EndRequestHandler(sender, args)
{
   if (args.get_error() != undefined)
   {
     var errorMessage;
     if (args.get_response().get_statusCode() == ''200'')
     {
       errorMessage = args.get_error().message;
     }
     else
     {
       // Error occurred somewhere other than the server  page.
       errorMessage = ''An unspecified error occurred. '';
     }
     args.set_errorHandled(true);
     ToggleAlertDiv(''visible'');
     $get(messageElem).innerHTML = errorMessage;
   }
}
</script>

乎重云峇佩參和荷恬?

葎 PageRequestManager 窃議 endRequest 並

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号