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

дил за статьейTRULLY Понимание ViewState (отличная статья) и заполнение моего выпадающего списка работает отлично. Я даже настроил событие OnSelectedIndexChange, которое срабатывает почти так же хорошо.

Проблема, которую я обнаружил, заключается в том, что событие SelectedIndexChanged не будет срабатывать при выборе 0-го индекса. Это делает все другие времена однако.

Вот некоторый код:

<asp:DropDownList runat="server" ID="DropDownList1" EnableViewState="false" 
AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" />


protected override void OnInit(EventArgs e)
{
    this.DropDownList1.DataTextField = "Text";
    this.DropDownList1.DataValueField = "Value";
    this.DropDownList1.DataSource = fillQueueDropDown();
    this.DropDownList1.DataBind();

    base.OnInit(e);
}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    OnSelectedQueueChanged(e);
}

public void OnSelectedQueueChanged(EventArgs e)
    {
        // Do stuff.
    }

public event EventHandler queueNamesChangedEvent;
public void OnSelectedQueueChanged(EventArgs e)
    {
        if (queueNamesChangedEvent != null)
            queueNamesChangedEvent(this, e);
    }

Я полагаю, что я могу сделать некоторые проверки в методе Page_Load:

  if(ViewState["selectedIndexChangedFlag"] != 1)
      // raise OnSelectedChange event

Или я могу настроить что-то в методе OnInit (), где я перепривязываю эти данные каждый раз, когда могу это сделать?

Видите, мой пользовательский EventHander вызывает событие, которое перехватывается родительской страницей, на которой находится этот элемент управления, чтобы родитель мог выполнить какое-то действие, используя только что выбранное значение. И это в настоящее время работает для всех случаев, когда выбранный индекс> 0.

Я создаю свойство в этом элементе управления, которое содержит последний выбранный индекс, и в этом случае моя родительская страница может воздействовать на значение этого свойства для каждого Page_Load ... dunno.

Открыт для предложений. Или как заставить это событие SelectedIndexChanged сработать для этого выбора 0-го индекса.

Ответы на вопрос(2)

Ваш ответ на вопрос