【发布时间】:2010-02-01 19:13:55
【问题描述】:
在这种情况下如何避免重复绑定项:
页面上有一个数据绑定控件(在本例中为 DropDownList,尽管我认为这并不重要)。它的 AppendDataBoundItems 设置为“true”。在代码的某处,设置了 DataSource 并调用了 DataBind。所以这个控件是明确绑定的。
你有一堆其他的东西要绑定在页面上,所以你调用 Page.DataBind。
您的数据绑定控件现在包含重复项。它是 (1) 显式绑定的,然后 (2) Page.DataBind 再次绑定它。由于 AppendDataBoundItems 为 true,因此第二个绑定附加到第一个绑定,您最终会得到双倍的项目。
几个限制:
在控件上对 DataBind 的显式调用是通过一些集中式代码完成的,更改起来会很痛苦。
-
我确实需要将页面的其余部分绑定在一起(通过 Page.Databind()),因为有太多其他数据绑定元素需要单独完成,而无需编写大量单独的调用。
我需要一个类似... Page.DataBindExceptIfTheyHaveAlreadyBeenBoundDuh() 的方法
【问题讨论】:
标签: asp.net data-binding