![]() |
1
2
我同意其他答案-最好的解决方案(对于性能和代码清晰性而言)是重新设计页面,以便筛选出无效条目。 之前 数据绑定。
大多数数据源不允许我们在ASP.NET迭代它们时删除它们的项。例如,如果绑定到一个简单的泛型
在其他情况下,ASP.NET实际上迭代数据源的副本。如果你绑定到
如果预先过滤项目确实不是一个选项,那么您当前的解决方案很好:只需隐藏项目!如果需要获取正确的计数,请跟踪itemDatabound处理程序中的无效项数,并将其公开为页级属性:
|
![]() |
2
3
如果这些隐藏项中没有特定的需求,则更合适的解决方案可能是筛选绑定的集合。类似的东西
更新: 至于我,我会用这种方法:
所以所有的过滤都是预先应用的 这将减少到数据库的往返次数,从而提高性能。 |
![]() |
3
2
为什么不在绑定前过滤数据源呢?因此,假设您正在使用一些自定义对象:
如果你不需要它们,首先不要把它们捆起来。 更新 如果有可能的话,你应该事先从数据库中提取信息。这些单子很大吗?如果是这样,对列表中的每个项目点击一次DB,就会显示为性能问题。 |
![]() |
4
2
答案很简单,你只要设定
请注意,上面的数据绑定到
另外,请注意,我绝对不会在绑定时执行另一个数据库查找,您不应该在循环中访问数据库,但只要您绑定到的数据具有某些内容,您可以检查以决定是否要显示该数据,则在中筛选没有错误。
|
![]() |
daGUY · 从Kentico 10中的自定义表中继器中筛选重复列值 6 年前 |
![]() |
Ali Imran · 发布数据在Jquery Ajax中未按预期工作 7 年前 |
![]() |
Ghaamae · 中继器-数据库C的文本框内容# 7 年前 |
![]() |
ASP.NET · 如何更改中继器中的列(数据集)值名称 9 年前 |