asp.net – 当数据绑定控件被绑定两次时,如何避免重复项?

在这种情况下,如何避免重复绑定项:

在页面上有一个数据绑定控件(在这种情况下是一个DropDownList,虽然我认为不重要).它将AppendDataBoundItems设置为“true”.在代码的某处,设置了一个DataSource并调用了DataBind.所以这个控件是明确约束的.

您在页面上有许多其他要绑定的东西,因此您可以调用Page.DataBind.

您的数据绑定控件现在包含重复项.它是(1)显式绑定,然后(2)Page.DataBind再次绑定它.由于AppendDataBoundItems为true,第二个绑定会附加到第一个绑定,最后会有两个项目.

一对限制:

>对控件的DataBind的显式调用是通过一些集中式代码完成的,并且更改会很痛苦.
>我真的需要聚合页面的其余部分(通过Page.Databind()),因为有太多的其他数据绑定元素可以单独执行,而无需编写大量的单独调用.

我需要一个方法,如… Page.DataBindExceptIfTheyHaveAlreadyBeenBoundDuh()

解决方法

执行Control.DataBind()后关闭AppendDataBoundItems.然后,Page.DataBind()将不会再次附加项目.

DropDownList.DataSource = Data;
DropDownList.DataBind();
DropDownList.AppendDataBoundItems = false;

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...