我的下拉菜单太疯狂了
本文关键字:疯狂 下拉菜单 我的 | 更新日期: 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