Dea*_*ane 3 asp.net data-binding
在这种情况下,如何避免重复的绑定项目:
页面上有一个数据绑定控件(在这种情况下为DropDownList,尽管我认为这并不重要)。它的AppendDataBoundItems设置为“ true”。在代码中的某个位置,设置了DataSource并调用了DataBind。因此,此控件已明确绑定。
您还需要在页面上绑定其他内容,因此您可以调用Page.DataBind。
现在,您的数据绑定控件中有重复的项目。它被(1)明确绑定,然后(2)Page.DataBind再次绑定它。由于AppendDataBoundItems为true,因此第二个绑定将追加到第一个绑定,并且最终会使项目增加一倍。
有两个限制:
控件上对DataBind的显式调用是通过一些集中的代码完成的,更改起来很麻烦。
我真的需要(通过Page.Databind())绑定其余页面的聚合,因为有太多其他数据绑定元素无法单独执行,而无需编写大量单独的调用。
我需要像这样的方法... Page.DataBindExceptIfIfHaveAlreadyBeenBoundDuh()
执行Control.DataBind()之后,关闭AppendDataBoundItems。然后,您Page.DataBind()不会再次追加项目。
DropDownList.DataSource = Data;
DropDownList.DataBind();
DropDownList.AppendDataBoundItems = false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12380 次 |
| 最近记录: |