2009-04-29 11 views
3

Mit C# gibt es ein Webformular mit vielen Steuerelementen, bei denen AutoEventWireup auf false festgelegt ist. Dies zwingt Sie, die Handler zu initialisieren, die Sie in der Ctor benötigen oder OnInit überschreiben.AutoEventWireup false auf einer Seite mit vielen Steuerelementen (C#)

Was ist mit der Handhabung für die Steuerelemente auf der Seite? Hinzufügen Schaltfläche klicken, ist, und SelectedIndexChanged die für Dropdown-Listen und Listenfelder, um nicht zu viele verschiedene Grid Veranstaltungen usw.

Wenn AutoEventWireup auf true gesetzt wurde, würde es die Leistung auswirken, da alle Ereignisse für alle Bedienelemente (inkl. Der Seite) erhalten würde verdrahtet hinter den Kulissen, sogar all die, die du nicht brauchst.

Wenn AutoEventWireup auf false gesetzt ist, ist es richtig, ein Dutzend oder zwei Ereignisabonnements im ctor/OnInit zu haben? (this.Load + = ... this.GridView1.Sorted + = ... this.Button1.Click + = ... usw.)

+0

Was ist die Frage? "Was ist mit der Handhabung der Steuerelemente auf der Seite?" Ist es das? – Cerebrus

+1

Frage ist: "Ist es richtiger Entwurf, alle Steuerereignisabonnements unter OnInit zu haben, wenn AutoEventWireup falsch ist?" Gerade schien ein wenig rückwärts alles zu tun (da gibt es kein 'Handles' Keyword) –

Antwort

3

Ja, Sie müssen alle Ereignisse manuell verdrahten, wenn Sie AutoEventWireup auf setzen false. Die OnInit Methode ist eine gute Möglichkeit, diese Ereignishandler zu verkabeln, und Sie sollten so viele Ereignisabonnements wie für die Steuerelemente auf Ihrer Seite benötigen.

AutoEventWireup ist eine nette Idee, aber ist langsam und ist auch ein bisschen magisch. Ich finde, es ist viel besser, die Verdrahtungen explizit zu machen.

+5

+1 für die Petition, um es offiziell in AutoEventWireUpWithUnicorns zu ändern –

1

Mit AutoEventWireUp werden nur bestimmte Ereignisse auf Seiten- oder Steuerungsebene automatisch verknüpft, nicht jedes Ereignis jedes Steuerelements auf Ihrer Seite. Eine Liste finden Sie unter Simon's answer bis this question.

Verwandte Themen