Error event in UserControl

M

Marc

Dear all

I tried to use the usercontrol error event to catch errors. I realized that
it never gets fired - please check these resources:
http://weblogs.asp.net/vga/archive/2003/06/16/8748.asp
http://stackoverflow.com/questions/10793/catching-unhandled-exceptions-in-asp-net-usercontrols
http://cwizo.blogspot.com/2006/09/usercontrolerror-not-firing.html

These resources describe why the error event is not fireing. But I would
like to know a work around or a method how the error event of a usercontrol
gets fired in case of an error that is not handled.

Thanks in advance for your help,

Marc
 
A

Allen Chen [MSFT]

Hi Marc,

To do this we can manually catch each exception and trigger the Error
event. Below is the sample:

ascx:
<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="WebUserControl1.ascx.cs"
Inherits="WebApplication1.WebUserControl1" %>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Click
Me" />

ascx.cs:
namespace WebApplication1
{
public partial class WebUserControl1 : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
try
{
throw new Exception("hello world!");
}
catch (Exception ex) {
this.OnError(new WebUserControlEventArgs() { Message =
ex.Message });
}
}
}
public class WebUserControlEventArgs : EventArgs {
public string Message { get; set; }
}
}

aspx:
<uc1:WebUserControl1 ID="WebUserControl11" runat="server"/>
aspx.cs:

namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
this.WebUserControl11.Error+=new
EventHandler(WebUserControl11_Error);
}

void WebUserControl11_Error(object sender, EventArgs e)
{

Response.Write("Exception is thrown in WebUserControl11");
}
}
}

In each event handler of web user control we can use a try..catch block to
wrap our code. And trigger the Error event in the catch block to notify the
Page that uses the web user control.

If you have additional questions please feel free to ask.

Regards,
Allen Chen
Microsoft Online Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

Note: MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 2 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions. Issues of this
nature are best handled working with a dedicated Microsoft Support Engineer
by contacting Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 
A

Allen Chen [MSFT]

Hi Marc,

Have you solved this issue?

Regards,
Allen Chen
Microsoft Online Support
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,228
Members
46,818
Latest member
SapanaCarpetStudio

Latest Threads

Top