【发布时间】:2009-08-10 17:38:00
【问题描述】:
对于我正在处理的项目,我们正在寻找一种方法来动态地将过滤器添加到页面,然后控制数据输出,例如网格。我们希望动态添加过滤器,因为我们希望客户能够更改可以过滤哪些属性以及应该使用哪些过滤器类型(文本框、下拉菜单、颜色选择器等)。
过滤器应该如下工作: - 客户将过滤器链接到某个属性并指定过滤器类型(对于此示例:下拉)。 - 包含所有过滤器的用户控件加载指定的所有过滤器 - 过滤器将指定属性的所有值作为选项加载。页面第一次加载;这将是所有项目的值。 - 现在用户从其中一个过滤器中选择一个值;页面重新加载 - 仅检索具有指定过滤器值的项目,用户可以同时指定一个或多个过滤器。 - 一旦用户通过过滤向下钻取,只有检索到的项目的过滤值应该在其他过滤器中使用。
我有以下问题: - 当我创建过滤器运行时,事件会丢失,因为每次回发都会重新创建控件。 - 我可以将过滤器放在 PreInit 中,这应该可以解决这个问题,但是由于加载所有环境变量尚未完成,因此确定应该加载哪些控件成为一个问题 - 我不知道将所有过滤器值返回到可以进行良好查询的中心点的好方法。 - 查询必须是动态的。我正在使用我想要动态化的 linq,所以我不必每次都选择所有内容。如何根据存储在数据库中的字符串进行动态选择查询? - 我必须根据过滤器值选择项目,然后将其余过滤器调整为已经做出的选择。这会打乱整个常规数据绑定序列。
上述任何一项的任何帮助都会很棒!
PS:我想到的一件事是在回发中传递过滤器值,这些值必须是可识别的。这样,服务器可以使用它们进行选择,然后创建过滤器并自动选择先前选择的过滤器值。我不太确定如何实现这一点...
【问题讨论】:
标签: asp.net