c# asp.net日历刷新页面和下拉列表乘法

本文关键字:下拉列表 asp net 日历 刷新 | 更新日期: 2023-09-27 18:12:52

我认为这是一个愚蠢的设计,但这是代码

 protected void Page_Load(object sender, EventArgs e)
{
    bookingTypeList.Items.Insert(0, new ListItem("Project", "p"));
    bookingTypeList.Items.Insert(1, new ListItem("Training", "t"));
   ....
如你所见,我从c#代码中设置了列表项。现在我在asp.net页面上有两个日历。每次我在上面选择一个日期,我都会注意到下拉列表中的值/项有多个。
1- Training
2- Project
then with selection:
1- Training
2- Project
1- Training
2- Project

我认为这与页面加载位置有关…我能做什么?

c# asp.net日历刷新页面和下拉列表乘法

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack) {
        bookingTypeList.Items.Insert(0, new ListItem("Project", "p"));
        bookingTypeList.Items.Insert(1, new ListItem("Training", "t"));
        ...
    }
}

您只需要在页面第一次加载时插入条目一次。每次您在日历上选择一个日期,您的Page_Load()方法将再次被触发。

将插入语句包装在IsPostBack检查中,如下所示

if(!Page.IsPostBack){
   bookingTypeList.Items.Insert(0, new ListItem("Project", "p"));
   bookingTypeList.Items.Insert(1, new ListItem("Training", "t"));
}

尝试使用

bookingTypeList.ClearSelection();