我的下拉菜单太疯狂了

本文关键字:疯狂 下拉菜单 我的 | 更新日期: 2023-09-27 18:12:10

我有以下下拉列表:

for (int i = 1; i <= 8; i++) dd_HorasImputadas.Items.Add(i.ToString());

但是当我按下一个按钮时,页面重新加载并且下拉菜单重复…

Ex: 1, 2, 3, 4, 5, 6, 7, 8 
BUTTON → 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8... 
BUTTON → 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8 

每次我按下按钮(我想这是因为页面再次加载),数字又翻了一倍…

有人知道怎么阻止它吗?这就像一个循环…

我希望我的解释正确,我的英语不是很好,我是一个新手程序员。非常感谢大家的回答

我的下拉菜单太疯狂了

在添加项到下拉列表之前,像这样清除它

dd_HorasImputadas.Items.Clear();//clears all items of dropdown 

然后添加如下项

for (int i = 1; i <= 8; i++) 
dd_HorasImputadas.Items.Add(i.ToString());

你的问题的另一种解决方案是,当你第一次绑定下拉菜单时,将你的代码包含在

if (!Page.IsPostBack)
{
  //this code won't execute if there is any postback like your button click
  for (int i = 1; i <= 8; i++) 
    dd_HorasImputadas.Items.Add(i.ToString());
}

当您按下按钮时,回发被触发,这意味着Page_Load函数被触发。

假设这些项是在Page_Load函数中添加到下拉列表中的,那么每次加载页面时,这些项都会再次添加。

在重新添加条目之前需要清除下拉列表,这可以通过使用:

dd_HorasImputadas.Items.Clear();
编辑:正如其他答案所提到的,你可以使用
Page.IsPostback

像下面这样调用下拉菜单填充函数

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Me.IsPostBack = False Then
       'Fill your dropdown here 
    End If
End Sub