2010-06-07 12 views
5

UserControls in ASP.NET (4.0) erben von System.Web.UI.UserControl. VisualStudio intellisense schlägt OnError als gültige Überschreibung von TemplateControl vor. Zur Laufzeit ignoriert .NET diese Fehlerbehandlung. Nur der OnError auf Seitenebene wird aufgerufen. Habe ich etwas vermisst oder gibt es ein Designproblem?ASP.NET UserControl OnError

public partial class Sample : System.Web.UI.UserControl 
{ 
    protected override void OnError(EventArgs e) 
    { 
     // Never reach ;o) 
     base.OnError(e); 
    } 
} 
+0

Möglicherweise verwandt: http://stackoverflow.com/questions/341417/handling-web-user-control-error-on-asp-net-page –

+0

@deniz dogan: Ich konnte eine Fehlerbehandlung außerhalb der Kontrolle nicht verwenden. Es muss ein interner Fallback sein. Es ist auch nicht möglich, das Fehlerereignis in OnInit anzuhängen. –

Antwort

1

Warum möchten Sie OnError überschreiben? Sie wären wahrscheinlich besser dran, wenn Sie einen try/catch-Block verwenden oder das Ereignis Application_Error abonnieren.

+1

Fehlerbehandlung für wiederverwendbare Komponenten? –

+0

, weil Sie JEDE Operation in try/catch umbrechen müssen. OnError sollte Sie automatisch über Probleme benachrichtigen, wenn Sie sie dafür verwenden. try/catch ist geeignet, wenn Sie wissen, welcher Fehler die Ausnahme verursacht und wie Sie mit dieser Situation umgehen können. –

Verwandte Themen