私は怠け者です - SQLDataSource を使用して dropdownLists にデータを入力しています。
データバインドされたオブジェクトの 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を使用していることです。
どんな助けでも大歓迎です!