Frage

OK, meine Meisterseite hat einen Dropdown, der die Größe steuert, die viele Dinge betrifft. Ich muss auf den Dropdown -Index von Inhaltsseiten zugreifen, damit ich diesen Code mit diesem Code mache.

public partial class MasterPage : System.Web.UI.MasterPage
{
public DropDownList MySize { get { return _ddlSize; } }
}

Ich verwende AJAX und wenn die Größe das Menü auf der Meisterseite ändert, ändert sich einwandfrei.

Wenn ich jedoch auf das aktualisierte Menü klicke, verwendet es den Zero -Index der Dropdown -Liste in meiner Inhaltsseite auch über visuell, die Größe, die ich ausgewählt habe.

  int size = Convert.ToInt32(Master.MySize.SelectedItem.Text); //Uses 0 index :(

Ich möchte keine Sitzung verwenden, ich verstehe einfach nicht, warum dies nicht 100% der Zeit funktioniert. Hat jemand irgendwelche Ideen?

War es hilfreich?

Lösung

Ich habe es herausgefunden!

Ich habe den Dropdown auf ein öffentliches statisches Objekt gesetzt

public static DropDownList MySize;

Dann habe ich es einfach bei jedem geladenen Meisterwerk der Seiteninstanz festgelegt.

protected void Page_Load(object sender, EventArgs e)
{
    MySize = _ddlSize;
}

Das Aufrufen der Dropdownlist ist etwas anders, da es sich um ein statisches Objekt handelt.

MasterPage.MySize.SelectedItem.Text

Aber es funktioniert auf allen Inhaltsseiten, die von der Meisterseite stammen.

Andere Tipps

Haben Sie diese Lösung in einem Multi-User-Szenario überprüft, da der Wert statisch ist, wird er über verschiedene Benutzer hinweg reflektiert

Der auf der Masterseite festgelegte Ansichtsstatus sollte den Wert des Dropdown -Listen beibehalten oder versuchen, versteckte Steuerelemente zu verwenden, um den Wert zu halten

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