2013-05-23 3 views
1

У меня проблема с ListBox в приложении ASP.NET: после выбора вручную происходит событие «SelectedIndexChanged», но его обработчик не может сохранять ни выбранный индекс, ни выбранный элемент. Индекс всегда равен «-1» :(Я включил AutoPostBack, так что текст свойство TextBox может быть обновлена.ListBox выбранный индекс теряется после PostBack в ASP.NET

В этом фрагменте кода SelectedItem всегда нулевой :(

protected void ListBox3_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (ListBox3.SelectedItem != null) 
     TextBox6.Text = ListBox3.SelectedItem.Text; 
} 

Вот описание управления:

<asp:ListBox ID="ListBox3" 
    runat="server" Height="283px" 
    style="margin-left: 28px; margin-top: 6px;" Width="156px" 
    DataSourceID="StacjeNaTrasie" 
    DataTextField="Nazwa_Stacji" DataValueField="Nazwa_Stacji" 
    onselectedindexchanged="ListBox3_SelectedIndexChanged" 
    AutoPostBack="True" EnableViewState="True"> 
</asp:ListBox> 

похоже, что PostBack вызывает другое событие selectionIndexChange и выбранный индекс снова устанавливается в «- 1' . Как я могу сохранить выбранную?

Благодарим за помощь! :)

+0

Как вы заполняете свой список? –

ответ

0

Вы уверены, что его

onselectedindexchanged="ListBox2_SelectedIndexChanged"?

это не предполагают, чтобы быть

onselectedindexchanged="ListBox3_SelectedIndexChanged"?

+0

Я уже исправил эту небольшую ошибку в описании;) – Filip

+0

ok, didnt se that :) – omi

+0

сделал ли выбранный по умолчанию элемент равным -1? – omi