Раскрывающийся список главной страницы не содержит выбранный индекс - PullRequest
0 голосов
/ 29 апреля 2009

Хорошо, на моей главной странице есть выпадающий список, который контролирует размер, который влияет на многие вещи. Мне нужно получить доступ к раскрывающемуся индексу со страниц содержимого, поэтому я делаю это с помощью этого кода.

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

Я использую Ajax, и когда размер меняется, меню на главной странице меняется очень хорошо.

Но когда я нажимаю на обновленное меню, он использует нулевой индекс выпадающего списка на моей странице содержимого, даже если он визуально отображает выбранный размер.

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

Я не хочу использовать сессию, я просто не понимаю, почему это не работает в 100% случаев. У кого-нибудь есть идеи?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2009

проверяли ли вы это решение в многопользовательском сценарии, так как значение статическое, оно будет отражено для разных пользователей

состояние просмотра, установленное на главной странице, должно сохранять значение раскрывающихся списков или пытаться использовать скрытые элементы управления для удержания значения

0 голосов
/ 29 апреля 2009

Я понял это!

Я установил раскрывающийся список для открытого статического объекта

public static DropDownList MySize;

Тогда я просто устанавливаю его равным экземпляру страницы каждый раз, когда загружается мастер-страница.

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

Вызов DropDownList немного отличается, поскольку это статический объект.

MasterPage.MySize.SelectedItem.Text

Но это работает на всех страницах контента, которые происходят от главной страницы.

...