Frage

Ich mag bei Belastung hinter einem Dropdownbox auf meiner aspx Seite aus dem C # -Code Optionen 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 bin ich? Danke.

War es hilfreich?

Lösung

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 Sie wollen Ihren Code in Page_Init setzen, an dieser Stelle die Kontrollen erstellt werden, aber Ansichtszustand wurde in ihnen noch nicht injiziert werden.

Werfen Sie einen Blick hier ASP.NET Seite Lebenszyklus Übersicht für Informationen 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.

Andere Tipps

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top