Holen Sie Verweis auf eine Dropdownbox mit c # auf Seite PreRender

stimmen
0

Ich mag einen Dropdownbox auf meiner Aspx-Seite aus dem C # -Code hinter während Ladeoptionen hinzuzufügen. Ich weiß nicht, wie einen Verweis auf die Kontrolle zu bekommen. Ich habe einige c # -Code, der ausgelöst wird, wenn der Benutzer die Dropdownbox ändert. Darin bekomme ich einen Verweis auf den Drop-Down mit:

DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find(ID);

Aber das wird nicht funktionieren, wenn ich es versuchen

protected void Page_PreRender(object sender, EventArgs e)
    {

auf meinem aspx.cs

Was vermisse ich? Vielen Dank.

Veröffentlicht am 10/12/2008 um 00:56
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Wenn Sie das ausgewählte Element aus der Dropdown-Liste wollen automatisch von Ansichtszustand auf Postbacks ausgewählt werden Sie alle Elemente in der Dropdown-Liste durch die Zeit Page_PreLoad Brände haben müssen. Um dies zu tun, werden Sie Ihren Code in Page_Init setzen, an dieser Stelle der Kontrollen erstellt werden, aber Ansichtszustand noch nicht in sie injiziert.

Werfen Sie einen Blick hier ASP.NET Seite Lebenszyklus Übersicht für Infos auf der Seite Lebenszyklus.

Ich sehe, dass Ihr Dropdown in einem übergeordneten Container ist, müssen Sie möglicherweise info.EnsureChildControls () aufrufen, bevor Sie Suche () verwenden, wenn es nicht in der Lage ist, einen Verweis auf Ihre Kontrolle zu bekommen.

Beantwortet am 10/12/2008 um 01:17
quelle vom benutzer

stimmen
0

PreRender ist gegen Ende des Seitenlebenszyklus. Sind Sie sicher, dass Sie dort die Änderungen werden? Klingt wie Sie Elemente in der Drop-Down-Wechsel werden sollen, wenn es anfänglich gebunden ist oder wenn seine Auswahl geändert wird.

http://codebetter.com/blogs//images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg

Beantwortet am 10/12/2008 um 01:03
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more