.net - 如何将项目添加到 SqlDataSource 数据绑定(bind)列表

标签 .net asp.net data-binding asp.net-3.5 sqldatasource

我很懒惰 - 我正在使用 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/

相关文章:

asp.net - 脑筋急转弯: IAsyncResult AsyncState is null after callback in Async ASP .网页

asp.net - AJAX、回发和浏览器刷新

javascript - 从 JSON 文件中 knockout 绑定(bind)

c# - Db 行更改的审计历史记录

c# - 使用 ConfigureAwait(false) 和 Task.Run 有什么区别?

.net - 使用 log4net 进行日志记录的最佳实践是什么?

c# - 在非托管回调委托(delegate)中抛出异常的含义

javascript - D3 折线图不清晰

c# - 插入数据后如何刷新GridView?

java - 是否有任何在编译时检查数据绑定(bind)的 JVM Web 框架?