我很懒惰 - 我正在使用 SQLDataSource 来填充我的下拉列表。
数据绑定(bind)对象的 Databind 事件在 Page.PreRender 之前被调用,所以我在 PreRender 事件处理程序中做这样的事情:
private void InitializeDropDown()
{
this.myDropDown.Items.Insert(0, new ListItem("-- Select something --"));
}
我知道我可以将 AppendDataBound 项目设置为 true 并在标记中对我的自定义项目进行硬编码,但在恢复之前我想了解为什么我正在做的事情不起作用。
当我像这样动态绑定(bind)东西时它通常有效:
myDropDown.DataTextField = "whatever";
myDropDown.DataValueField = "ID";
myDropDown.DataSource = GetStuff();
myDropDown.DataBind();
myDropDown.Items.Insert(0, "-- Select something --");
我所做的应该是等效的 - 唯一的区别是我使用的是 SQLDataSource。
感谢任何帮助!
最佳答案
将插入行放在数据源的 OnSelected 方法上
myDropDown.Items.Insert(0, "-- 选择一些东西 --");
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.selected.aspx
关于.net - 如何将项目添加到 SqlDataSource 数据绑定(bind)列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/551957/