2009-08-10 91 views
0

对于我正在处理的项目,我们正在寻找一种方法来动态地将过滤器添加到页面,然后控制数据输出,例如网格。我们希望动态添加过滤器,因为我们希望客户能够更改可以过滤的属性以及应该使用哪种过滤类型(文本框,下拉列表,颜色选择器等)。ASP.NET动态过滤数据

该过滤器应按如下方式工作: - 客户将过滤器链接到某个属性并指定过滤类型(对于此示例:下拉列表)。 - 包含所有过滤器的用户控件加载指定的所有过滤器 - 过滤器加载指定属性的所有值作为选项。第一次加载页面;这将是所有项目的价值。 - 现在用户从其中一个过滤器中选择一个值;页面重新加载 - 仅检索具有指定过滤器值的项目,用户可以同时指定一个或多个过滤器。 - 一旦用户通过过滤向下钻取,只有检索项目的过滤值应该用于其他过滤器。

我有以下问题: - 当我创建过滤器运行时,事件会丢失,因为每次回发都会重新创建控件。 - 我可以将过滤器放置在PreInit中,它可以解决这个问题,但是确定应该加载哪些控件会成为一个问题,因为加载所有环境变量还没有完成 - 我不知道返回所有过滤器的好方法价值观到一个中心点,我可以从中做出一个好的问题。 - 查询必须是动态的。我正在使用linq,我想让它变成动态的,所以我不必每次都选择一切。如何根据存储在数据库中的字符串进行动态选择查询? - 我必须根据过滤值选择项目,然后将剩余的过滤器调整为已经做出的选择。这种混乱整个常规数据绑定序列。

以上任何一种帮助都会很棒!

PS:我想过的一件事是在回传中传递过滤器值,这些值必须是可识别的。这样服务器可以使用它们进行选择,然后创建过滤器并自动选择先前选择的过滤器值。我不太清楚如何实现这个虽然...

回答