我相信真的很愚蠢的设计,但这是代码
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
我认为这与页面加载位置有关...我该怎么办?
答案 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();