asp.net网站开发---简单的多条件搜索

前台页面:


public class SearchModel

        {

            public string Name { get; set; }//记录数据库字段名

            public string Value { get; set; }//记录对应的值           

        }

        List<SearchModel> ss = new List<SearchModel>();

        protected void btn_search_Click(object sender, EventArgs e)

        {

            if (txb_posi.Text != "填写职位")

            {

                SearchModel sm = new SearchModel();

                sm.Name = "vc_Position";

                sm.Value = txb_posi.Text;

                ss.Add(sm);

            }

            if (txb_company.Text != "填写公司名")

            {

                SearchModel sm = new SearchModel();

                sm.Name = "vc_BusinessName";

                sm.Value = txb_company.Text;

                ss.Add(sm);

            }

            if (txb_loc.Text != "填写地区")

            {

                SearchModel sm = new SearchModel();

                sm.Name = "vc_JobArea";

                sm.Value = txb_loc.Text;

                ss.Add(sm);

            }

            if (ddl_trade.SelectedItem.Text != "选择职位类型")

            {

                SearchModel sm = new SearchModel();

                sm.Name = "vc_Trade";

                sm.Value = ddl_trade.SelectedItem.Text;

                ss.Add(sm);

            }

            if (ddl_trade.SelectedItem.Text== "选择职位类型" && txb_posi.Text == "填写职位" && txb_company.Text == "填写公司名" && txb_loc.Text == "填写地区")

            {

                SQLHelper.BindRepeater(rpt_posi, SQLHelper.ConnectionStringLocalTransaction, CommandType.Text,

              @"select top 10 * from BusinessNews order by vc_BeginTime desc", null);

            }

            else

            {

                SQLHelper.BindRepeater(rpt_posi, SQLHelper.ConnectionStringLocalTransaction, CommandType.Text,

              SearchSql(ss), null);

            }

        }

        public string SearchSql(List<SearchModel> ss)

        {

            int i;

            string sql = "select top 10 * from BusinessNews where ";//开始拼接sql语句

            for( i=0;i<ss.Count;i++)

            {

                sql += ss[i].Name + " like '%" + ss[i].Value + "%'";

                if (i != ss.Count - 1) sql += " and ";

            }

            sql += " order by vc_BeginTime desc";

            return sql;

        }


参考网址:https://www.jb51.net/article/51995.htm

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。