如果选项众多,你应该开发一个“选项板”ascx专门用于输入选项,然后点击“确定”再产生SQL查询语句并且触发一个事件。在查询页面上拖入这个选项板,注册其事件处理程序,在事件中绑定页面上另外一个列表控件。把查询选项操作单独发包成一个子项目,功能接口很清楚又不用关注内部细节,将来更新插件也比较方便。

解决方案 »

  1.   

    sp1234你好。可能我说的不够明白。我的要求并不是做搜索(其实也差不多),和搜索有点出入。
    首先必须把用户的订阅内容(订阅条件存入数据库)用户在登录系统的时候可以更具各种单选,多选,下拉框查看和修改自己的订阅条件,如果用搜索面板,那如何把用户以前定制的内容呈现出来?自己解释sql语句?然后呈现?其次如果用这种方式。难道要去拼接sql语句?这样是不是不怎么合理?
    我原来用的方法如下:但是感觉不怎么合理。所以想找一个新方法
    select class.classname ,from.fromname,music.* from class inner join music on class.id = music.classid ...............        where  music.classid in (select sub_class from subscribe where userid = xx)而且我只建立了一个订阅表。表内容如下:
    id  userid sub_class  sub_from sub_name
    1     1        1                
    2     1                  1
    3     1                          xxx
    这样虽然能实现功能。但是感觉太不合理。而且最近转用orm感觉非常不好。
    想过拆开3个表。但是不知道是否正确。所以来发帖子看有没有什么解决方法?宗旨是 利于页面呈现(用户修改)。利于查询优化,利于扩展