我很懒——我正在使用 SQLDataSource 来填充我的下拉列表。
数据绑定对象的 Databind 事件在 Page.PreRender 之前调用,所以我在 PreRender eventHandler 中执行类似的操作:
private void InitializeDropDown()
{
this.myDropDown.Items.Insert(0, new ListItem("-- Select something --"));
}
我知道我可以将 AppendDataBound 项目设置为 true 并在标记中对我的自定义项目进行硬编码,但在恢复之前,我想了解为什么我正在做的事情不起作用。
当我像这样动态绑定东西时,它通常会起作用:
myDropDown.DataTextField = "whatever";
myDropDown.DataValueField = "ID";
myDropDown.DataSource = GetStuff();
myDropDown.DataBind();
myDropDown.Items.Insert(0, "-- Select something --");
我所做的应该是等效的——唯一的区别是我使用的是 SQLDataSource。
任何帮助表示赞赏!