gpt4 book ai didi

c# - 在 QueryableFilterRepeater 中禁用过滤器控件

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:58 25 4
gpt4 key购买 nike

如果满足某些条件,我想在我的 QueryableFilterRepeater 中设置一个或多个过滤器控件为只读。

foreach (Control c in FilterRepeater.Controls)
{
//c is of type FilterRepeaterItem
}

我可以访问它的控件,但我不确定如何禁用它。它们属于 FilterRepeaterItem 类型,它是 QueryableFilterRepeater 的内部类,所以我不能将它们强制转换为该类型以获得过滤器的包装控制(比如 DropDownList) 并将其 Enabled 属性设置为 false;

有什么解决方法吗?我怀疑是否有一个适用于所有类型的过滤器(比如底层控件是否不同而不是所有 DropDownList),但至少有一个我知道它是 DropDownList。

最佳答案

我已经找到了解决方案,我将把它留在这里以防其他人偶然发现。

foreach (Control c in FilterRepeater.Controls)
{
var dynamicFilter = c.Controls.OfType<DynamicFilter>().FirstOrDefault();
if (dynamicFilter == null)
continue;
QueryableFilterUserControl filterTemplate = dynamicFilter.FilterTemplate as QueryableFilterUserControl;
if (filterTemplate == null)
continue;
WebControl filterControl = filterTemplate.FilterControl as WebControl;
if (filterControl == null)
continue;
//now we have access to the filter control
filterControl.Enabled = false;
}

关于c# - 在 QueryableFilterRepeater 中禁用过滤器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32115670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com