2012-02-15 3 views
3

Все, что я хочу сделать, это просто нажать кнопку, и текст в текстовом поле автоматически добавится как элемент в списке. Разве это не должно быть прямым? Во время отладки элемент добавляется, и я вижу текст, наблюдая за ListBox1.Items [0], но на веб-странице ничего не отображается. У меня была та же проблема, которую я не решал, в консольном приложении! Может ли кто-нибудь объяснить мне, что я делаю неправильно?Не использовать asp listbox well

protected void Button1_Click(object sender, EventArgs e) 
    { 
     ListBox1.Items.Add(new ListItem(TextBox1.Text)); 
    } 

Большое спасибо

Edit:

В прошлом проекте я использовал свойство DataSource, который работал отлично. Я еще не успел использовать добавленные элементы! Может быть, есть какие-то обновления или обновления?

код страницы:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 

<asp:ListBox ID="ListBox1" runat="server" Height="150px" Width="295px"></asp:ListBox> 

<asp:UpdatePanel ID="updatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" /> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

его пустой !, но это моя страница aspx. test

ответ

4

Похоже, что ваш список находится за пределами панели обновлений. Вставьте его внутри панели обновления:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
<ContentTemplate> 
    <asp:DropDownList ID="DropDownList1" runat="server"> 
    </asp:DropDownList> 
<asp:Button ID="Button1" runat="server" Text="Button" onclick="AddItem" /> 
</ContentTemplate> 
</asp:UpdatePanel> 
+0

Спасибо, парень! работал как шарм! Теперь, по крайней мере, я знаю, что код, который я пишу, хорош, я должен найти ту же проблему, что и у меня с консольным приложением! Еще раз спасибо! – test

4

Вы должны переместить ListBox в UpdatePanel, в противном случае он не будет обновляться.

Причина в том, что ASP.NET отправляет весь HTML-файл UpdatePanel обратно клиенту. Поскольку ListBox не является частью UpdatePanel, он не будет обновляться.

+0

Спасибо! Работал как шарм! – test

Смежные вопросы