c#asp.net日历刷新页面和下拉列表倍数?

时间:2011-11-01 11:15:54

标签: c# asp.net drop-down-menu

我相信真的很愚蠢的设计,但这是代码

 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

我认为这与页面加载位置有关...我该怎么办?

3 个答案:

答案 0 :(得分:1)

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"));
        ...
    }
}

答案 1 :(得分:1)

您只需插入一次项目,首次加载页面。每次在日历上选择日期时,都会再次触发Page_Load()方法。

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

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

答案 2 :(得分:0)

尝试使用

bookingTypeList.ClearSelection();