当前位置 : 主页 > 网络编程 > ASP >

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

来源:互联网 收集:自由互联 发布时间:2021-06-24
在这种情况下,如何避免重复绑定项: 在页面上有一个数据绑定控件(在这种情况下是一个DropDownList,虽然我认为不重要).它将AppendDataBoundItems设置为“true”.在代码的某处,设置了一个Data
在这种情况下,如何避免重复绑定项:

在页面上有一个数据绑定控件(在这种情况下是一个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;
网友评论