/ / ASP.Net-Benutzersteuerelement - VS Event Wirelup - asp.net, Benutzersteuerelemente, Ereignisbehandlung

ASP.Net-Benutzersteuerelement - VS Event Wirelup - asp.net, Benutzersteuerelemente, Ereignisbehandlung

Also ich habe eine benutzerdefinierte Benutzerkontrolle. Ich habe ein Ereignis (SelectionChanged) und ich möchte haben, wer jemals meine Steuerung verwendet, um Folgendes zu tun, um das Ereignis zu verbinden:

  1. Ziehen Sie das Steuerelement auf die Seite
  2. Klicken Sie im Designermodus auf das Steuerelement
  3. Anzeigen der Steuerelemente für Event-Handler (aus dem Eigenschaftenfenster)
  4. finde das SelectionChanged-Ereignis
  5. Doppelklicken Sie und lassen Sie Visual Studio den Code hinter der Funktion und den Draht auf der Aspx-Seite erstellen.

Wie bekomme ich das fertig? Ich habe das Kontroll-Setup, so dass der Benutzer das Event-Kabel manuell eingeben und das Ereignis hinterher codieren kann, aber ich möchte, dass Visual Studio dies tut.

Derzeit, wenn ein Entwickler mein Steuerelement auf der Seite abgelegt hat, kann er darauf klicken und die Eigenschaften sehen, aber es sind keine Ereignisse verfügbar (der Blitz ist nicht vorhanden).


Meine Veranstaltungen sind öffentlich. Hier sind sie:

public delegate void SelectionChangedDelegate(object sender, SelectionChangedEventArgs e);
public event SelectionChangedDelegate SelectionChangedEvent;

Antworten:

2 für die Antwort № 1

Ich verstehe nicht, wie der Blitz nicht da ist. Erbt Ihre Kontrolle von? System.Web.UI.HtmlControls.HtmlControl oder System.Web.UI.Control oder eine andere Ableitung Kontrolle?

Wenn Sie von einem dieser Steuerelemente erben, sollten Sie die geerbten Ereignisse im Eigenschaftenfenster sehen.

Die Tatsache, dass der Blitz nicht da ist, lässt mich glauben, dass Sie nicht von einer der Kontrollklassen erben.

BEARBEITEN: Nun, Sie werden das nicht mögen. UserControl verhält sich nicht wie ein WebControl. Und damit verbindet der VS Editor die Ereignisse nicht.

Wenn der Event Wireup für Sie entscheidend ist (Wenn dies der Fall ist)wird eine verkaufte Bibliothek sein) Ich würde empfehlen, dass Sie das Steuerelement als WebControl umschreiben. Dazu müssen Sie alle Steuerelemente programmatisch in der Überschreibungsmethode CreateChildControls hinzufügen.

Möglicherweise können Sie auch Ihr Benutzersteuerelement in ein WebControl umbrechen und alle Ereignisse auf diese Weise aufblasen.

Viel Glück!