我有以下下拉列表:
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
每次按下按钮(我认为是因为页面再次加载),数字再次翻倍......
任何人都知道如何阻止它?这就像一个循环...
我希望我已经正确解释,我的英语不是很好,我是一名新手程序员。非常感谢您的答案
答案 0 :(得分:1)
当您按下按钮时,将触发回发,这意味着将触发Page_Load功能。
假设项目已添加到Page_Load功能的下拉列表中,则每次加载页面时,都会再次添加项目。
在重新添加项目之前,需要清除下拉列表,这可以通过以下方式完成:
dd_HorasImputadas.Items.Clear();
编辑:正如其他答案所述,您可以使用
Page.IsPostback
属性。
答案 1 :(得分:1)
在添加要下拉的项目之前,请将其清除,如下所示
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());
}
答案 2 :(得分:0)
调用下面的下拉填充功能
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