在这种情况下如何避免重复绑定(bind)项目:
页面上有一个数据绑定(bind)控件(在这种情况下是 DropDownList,尽管我认为这并不重要)。它的 AppendDataBoundItems 设置为“true”。在代码中的某处,设置了 DataSource 并调用了 DataBind。所以这个控件是明确绑定(bind)的。
你有一堆其他的东西要绑定(bind)在页面上,所以你调用 Page.DataBind。
您的数据绑定(bind)控件现在包含重复项。它是 (1) 显式绑定(bind)的,然后 (2) Page.DataBind 再次绑定(bind)它。由于 AppendDataBoundItems 为真,第二个绑定(bind)附加到第一个绑定(bind),您最终得到双倍的项目。
几个限制:
我需要一种方法,例如... Page.DataBindExceptIfTheyHaveAlreadyBeenBoundDuh()
最佳答案
执行 Control.DataBind() 后关闭 AppendDataBoundItems。然后您 Page.DataBind() 不会再次附加项目。
DropDownList.DataSource = Data;
DropDownList.DataBind();
DropDownList.AppendDataBoundItems = false;
关于asp.net - 当数据绑定(bind)控件被绑定(bind)两次时,如何避免重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179363/