Finden Benutzersteuerelement Dropdownlist ausgewählt, Wert auf Seite
Ich habe ein Benutzersteuerelement namens UCCountry.ascx, dieses Steuerelement hat nur eine dropdownlist des Landes. Der name meiner Seite ist MyFirstPage.aspx, auf dieser Seite habe ich einen repeater, bindet die Daten auf der Grundlage der CountryId ich.e MyfirstPage.aspx enthält das Benutzersteuerelement.
Nun möchte ich wissen, wie kann ich die Daten gebunden werden, wenn ein Benutzer ändert das Land mit den dropdownlist in das Benutzersteuerelement.
Hinweis: Die Seite life-cycle-event kann ich verwenden, um den Wert des dropdownlist-und auf welcher Veranstaltung muss ich zum binden der repeater.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie setzen die DropDownList als öffentlich, die in Ihrer Kontrolle. Die Ihre Seite anhören kann für die Ereignisse und darauf reagieren. Eg:
UCCountry.ascx
UCCountry.ascx.cs
MyFirstPage.aspx
MyFirstPage.aspx.cs
Page_Load
undCountryList_SelectedIndexChanged
. Aber das größere Problem, das Sie Gesicht ist der Zugang. Standardmäßig werden die Steuerelemente in einem Steuerelement geschützt und unzugänglich für die übergeordnete Seite. Um Ihnen den Zugang von der Seite, Sie müssen Sie aufzudecken. Sobald Sie ausgesetzt sind, können Sie dann auch Zugang zu Ihnen über die üblichen Seite-lifecycle-events. Sie können auch den Zugriff auf eine Benutzer-Steuerelement untergeordnete Steuerelemente aus der Steuerelement-lifecycle-events, wie zBControl_Load
usw, aber Sie haben nicht Zugriff auf die Seite repeater von der Kontrolle.Habe ich die Lösung gefunden eigenen:
Erstellt habe ich zwei member-Variablen:
Nun überschreiben InitializeCulture auf aspx-Seite.
Ich denke, Sie müssen nur
OnSelectedIndexChanged
auch für die DropDownList.Glück!
Sie müssen nur die Blase ein Ereignis aus dem Benutzer die Kontrolle der übergeordneten Seite. Hier ist eine Frage zu diesem Thema, und ein Artikel, der erklärt, wie es zu tun.
Die grundlegende Idee ist, dass in der ausgewählte index geändert-event-handler in Ihre Benutzer-Steuerelement, das Sie Feuer aus ein Ereignis, das die übergeordnete Seite abonniert. Im event-handler in Ihre Seite können Sie binden Ihre repeater.
Wollen Sie das
OnSelectedIndexChanged
Veranstaltung von der DDL. Sie werden in der Lage sein, um den ausgewählten Wert, wenn das event feuert. Sie müssen sicherstellen, dassAutoPostBack="True"
auf der DDL-als auch. Von dort aus können Sie die Datenbindung in der event-handler.