加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 09:17:57 所属栏目:asp.Net 来源:网络整理
导读:在这种情况下,如何避免重复绑定项: 在页面上有一个数据绑定控件(在这种情况下是一个DropDownList,虽然我认为不重要).它将AppendDataBoundItems设置为“true”.在代码的某处,设置了一个DataSource并调用了DataBind.所以这个控件是明确约束的. 您在页面上有许
在这种情况下,如何避免重复绑定项:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读