如果使用asp.net,那么所有的选择都是LinkButton,点击时把所选择的情况记录到ViewState中(例如ViewState["通信"]=true这种形式)。而取消选择则执行ViewState.Remove("通信");    //或者ViewState["通信"]=false;要想查询条件(变量) cond 是否被选中,只要判断 var obj = ViewState[cond];
return obj!=null && (bool)obj; 就可以知道到是否选中了这个条件。然后在需要获得选择结果时,foreach遍历你的条件集合分别查询,对于选中的,组合进查询条件中。在界面上看起来,你这个UI上有三个Repeater控件,其中模板里只有一个LinkButton即可。例如在模板中写<asp:LinkButton runat="server" ID="LinkButton1" OnClick="点击查询条件" 条件值='<%# Eval("select_item") Text='<%# GetText((string)Eval("selected_item")) %>' />
然后处理点击事件protected void 点击查询条件(object sender, EventArgs e)
{
    var lb = (LinkButton)sender;
    if(lb.CssClass == "lb_selected")
    {
       lb.CssClass="lb_default";
       ViewState[lb.Attributes["条件值"]]= false;
    }
    else
    {
       lb.CssClass="lb_selected";
        ViewState[lb.Attributes["条件值"]]= true;
    }
}protected string GetText(string cond)
{
    return cond+"("+ 查询数据库得到对应的信息条数(cond) + ")";
}

解决方案 »

  1.   

    如果是javascript客户端编程,这就完全用不上asp.net了,请到各种html/javascript论坛里发帖问问。在asp.net论坛里,你基本上都是遇到只因为jQuery等等比较时髦而学习一丁点jQuery的程序员,而不是那些专业的前端开发程序员。因为使用jQuery来解决这个问题,也是需要深度的一些知识,例如如何自动绑定数据而产生列表,如何保存每一个条件的选择事件,如何遍历所有条件从而生成的一个sql语句的where条件部分,等等。也是需要稍微多一点的功夫的。绝不是扔给你只言片语就可以的。
      

  2.   

    http://www.jq-school.com/Detail.aspx?id=280
      

  3.   

    还有点不明白 :1.foreach遍历你的条件集合分别查询,ViewState里边的么?
      

  4.   

    http://bbs.csdn.net/topics/350154106
    看下这个 早些年的
      

  5.   

    基本上看明白了就是foreach遍历不知道怎么写。sp1234大哥请指教。