添加的项目相乘(列表框/下拉框)
Added Items multiply (Listbox / Dropdownbox)
我有几个列表框,想向其中添加项目。
所以我有一个按钮和一个列表框:
<asp:ListBox ID="ListBox1" runat="server" Rows="5"></asp:ListBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
然后我在 C# 代码中将项目添加到列表框中:
for (i = 0; i < getSurnameData.countData; i++)
{
ListBox1.Items.Insert(i, getSurnameData.StringData[i]); //Writes the Outcome into a Listbox
}
问题是,如果我按下按钮,页面会重新加载,项目会一次又一次地添加。这导致了一个巨大的列表框,我按下按钮的次数越多。
有什么办法可以防止这种情况发生吗?
首先点击每个按钮,您应该使用以下代码清除列表框的内容
listbox1.Items.Clear();
如果没有清除它会将数据附加到列表框的现有值中。
在您的例子中,for 循环正在向列表框添加值
所以在for循环之前做编码
listbox1.Items.Clear();
for (i = 0; i < getSurnameData.countData; i++)
{
ListBox1.Items.Insert(i, getSurnameData.StringData[i]);
}
我有几个列表框,想向其中添加项目。 所以我有一个按钮和一个列表框:
<asp:ListBox ID="ListBox1" runat="server" Rows="5"></asp:ListBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
然后我在 C# 代码中将项目添加到列表框中:
for (i = 0; i < getSurnameData.countData; i++)
{
ListBox1.Items.Insert(i, getSurnameData.StringData[i]); //Writes the Outcome into a Listbox
}
问题是,如果我按下按钮,页面会重新加载,项目会一次又一次地添加。这导致了一个巨大的列表框,我按下按钮的次数越多。
有什么办法可以防止这种情况发生吗?
首先点击每个按钮,您应该使用以下代码清除列表框的内容
listbox1.Items.Clear();
如果没有清除它会将数据附加到列表框的现有值中。
在您的例子中,for 循环正在向列表框添加值 所以在for循环之前做编码
listbox1.Items.Clear();
for (i = 0; i < getSurnameData.countData; i++)
{
ListBox1.Items.Insert(i, getSurnameData.StringData[i]);
}