ErrorHandlingBasicsCS.aspx 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <%@ Page Language="C#" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <script runat="server">
  5. protected void ErrorProcessClick_Handler(object sender, EventArgs e)
  6. {
  7. // This handler demonstrates an error condition. In this example
  8. // the server error gets intercepted on the client and an alert is shown.
  9. Exception exc = new ArgumentException();
  10. exc.Data["GUID"] = Guid.NewGuid().ToString().Replace("-"," - ");
  11. throw exc;
  12. }
  13. protected void SuccessProcessClick_Handler(object sender, EventArgs e)
  14. {
  15. // This handler demonstrates no server side exception.
  16. UpdatePanelMessage.Text = "The asynchronous postback completed successfully.";
  17. }
  18. protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
  19. {
  20. if (e.Exception.Data["GUID"] != null)
  21. {
  22. ScriptManager1.AsyncPostBackErrorMessage = e.Exception.Message +
  23. " When reporting this error use the following ID: " +
  24. e.Exception.Data["GUID"].ToString();
  25. }
  26. else
  27. {
  28. ScriptManager1.AsyncPostBackErrorMessage =
  29. "The server could not process the request.";
  30. }
  31. }
  32. </script>
  33. <html xmlns="http://www.w3.org/1999/xhtml">
  34. <head runat="server">
  35. <title>PageRequestManager Error Example</title>
  36. <style type="text/css">
  37. body {
  38. font-family: Tahoma;
  39. }
  40. #AlertDiv{
  41. left: 40%; top: 40%;
  42. position: absolute; width: 200px;
  43. padding: 12px;
  44. border: #000000 1px solid;
  45. background-color: white;
  46. text-align: left;
  47. visibility: hidden;
  48. z-index: 99;
  49. }
  50. #AlertButtons{
  51. position: absolute;
  52. right: 5%;
  53. bottom: 5%;
  54. }
  55. </style>
  56. </head>
  57. <body id="bodytag">
  58. <form id="form1" runat="server">
  59. <div>
  60. <asp:ScriptManager ID="ScriptManager1"
  61. OnAsyncPostBackError="ScriptManager1_AsyncPostBackError"
  62. runat="server" />
  63. <script type="text/javascript" language="javascript">
  64. </script>
  65. <script type="text/javascript" language="javascript">
  66. var divElem = 'AlertDiv';
  67. var messageElem = 'AlertMessage';
  68. var bodyTag = 'bodytag';
  69. Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
  70. function ToggleAlertDiv(visString)
  71. {
  72. if (visString == 'hidden')
  73. {
  74. $get(bodyTag).style.backgroundColor = 'white';
  75. }
  76. else
  77. {
  78. $get(bodyTag).style.backgroundColor = 'gray';
  79. }
  80. var adiv = $get(divElem);
  81. adiv.style.visibility = visString;
  82. }
  83. function ClearErrorState() {
  84. $get(messageElem).innerHTML = '';
  85. ToggleAlertDiv('hidden');
  86. }
  87. function EndRequestExampleHandler(sender, args)
  88. {
  89. if (args.get_error() != undefined)
  90. {
  91. var errorMessage = args.get_error().message;
  92. args.set_errorHandled(true);
  93. ToggleAlertDiv('visible');
  94. $get(messageElem).innerHTML = errorMessage;
  95. }
  96. }
  97. function EndRequestHandler(sender, args)
  98. {
  99. if (args.get_error() != undefined)
  100. {
  101. var errorMessage = args.get_error().message;
  102. args.set_errorHandled(true);
  103. // Provide other custom script actions here.
  104. alert(errorMessage);
  105. }
  106. }
  107. </script>
  108. <asp:UpdatePanel runat="Server" UpdateMode="Conditional" ID="UpdatePanel1">
  109. <ContentTemplate>
  110. <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
  111. <asp:Label ID="UpdatePanelMessage" runat="server" />
  112. <br />
  113. Last update:
  114. <%= DateTime.Now.ToString() %>
  115. .
  116. <br />
  117. <asp:Button runat="server" ID="Button1" Text="Submit Successful Async Postback"
  118. OnClick="SuccessProcessClick_Handler" OnClientClick="ClearErrorState()" />
  119. <asp:Button runat="server" ID="Button2" Text="Submit Async Postback With Error"
  120. OnClick="ErrorProcessClick_Handler" OnClientClick="ClearErrorState()" />
  121. <br />
  122. </asp:Panel>
  123. </ContentTemplate>
  124. </asp:UpdatePanel>
  125. <div id="AlertDiv">
  126. <div id="AlertMessage">
  127. </div>
  128. <br />
  129. <div id="AlertButtons" >
  130. <input id="OKButton" type="button" value="OK" runat="server" onclick="ClearErrorState()" />
  131. </div>
  132. </div>
  133. </div>
  134. </form>
  135. </body>
  136. </html>