【发布时间】:2012-06-14 09:53:55
【问题描述】:
我有一个 DropDownList 控件,它通过 SqlDataSource 进行数据绑定,其查询返回 3 个字段(Label、Value 和 Active) - 有没有办法以编程方式访问数据绑定数据集以检查Active 标志是真还是假?
我知道这可以在数据绑定期间完成,但我需要在PreRender 阶段检查Active 标志,因为如果加载此选择的旧记录,控件可能需要选择Active=false 的值已经制作好了。 (在PreRender 期间,我将删除所有Active=false 项目,除非它是我将DropDownList 设置为的值)。
通过使用SqlDataSource 填充DataView,我可以完美地工作。基于此选择和比较/删除项目,但两次访问数据库以再次为每个控件获取此信息似乎效率低下。
另外,我不能为所有控件编写一段可重用/通用代码,因为我当前的方法仅在 SqlDataSource 不需要任何 SelectArguments 时才有效。如果我可以直接访问数据绑定的数据,这也将绕过这个问题。
非常感谢任何建议!
【问题讨论】:
-
以编程方式设置控件的数据源比使用 SqlDataSource 灵活得多。
标签: c# asp.net data-binding webforms