代码之家  ›  专栏  ›  技术社区  ›  Erik Funkenbusch

从上一页的DataList中的选中项生成where子句的最简单方法

  •  1
  • Erik Funkenbusch  · 技术社区  · 14 年前

    我有一个动态生成的选择列表,它列出了许多基于最终用户可编辑表的复选框,因此我不知道这个表中可能包含哪些数据,或包含多少数据,以及除了表的主键之外,还有多少复选框或它们可能包含什么。

    用户将选择希望看到的检查,然后通过PostBackUrl将控制传递到另一个页面。第二页必须根据上一页中选中的复选框确定要显示哪些记录(build it's where子句)。

    所以,我的问题是多方面的。第一,asp:CheckBoxes don没有价值观。这可以通过许多方法来解决。现在,我正在使用占位符并在DataList的ItemDataBound事件中动态创建复选框。我将ID设置为“CheckboxKey1Key2”(其中Key1和Key2是检查项的主键)。

    现在,我的想法是基于解码选中复选框名称得到的键来构建Linq2Sql查询的where子句。这一切似乎都是为了一些本不该如此困难的事情而做的。我错过什么了吗?有没有更好的解决办法?

    1 回复  |  直到 14 年前
        1
  •  0
  •   TheGeekYouNeed    14 年前

    为你的值创建一个有结构的类,这个类对你的结果页很有用,也很容易使用。然后,当用户单击他们所单击的内容转到结果页时,循环遍历DataList,从选中的项创建一个集合,当您需要格式化查询时,您只需要获取一个对象而不是所有对象。