select结合input进行模糊搜索

1:前端

导入: 

//下拉绑定数据

 $(function () {

        //获取下拉框绑定的值
        $("#cName").bindSelect({
            url: "/AppMarket/CommonFunction/GetTreeSelectCodes"
        });
        i = $("#newsId").val();
        $('#cName').val(i).select2();
        $(document).ready(function () {
            $('#cName').select2();
        });

    })

2:后台   数据获取

 public ActionResult GetTreeSelectCodes(string name)
        {
            List list = DataLogic.GetCNameString();
            var treeList = new List();
            for (int i = 0; i < list.Count; i++)
            {
                TreeSelectModel treeModel = new TreeSelectModel();
                 treeModel.text = list[i].text;
                 treeModel.parentId = "0";
                 treeList.Add(treeModel);
            }
            return Content(treeList.TreeSelectJson());
        }

    }

3:实体类

  public class TreeSelectModel
    {
        public string id { get; set; }
        public string text { get; set; }
        public string parentId { get; set; }
        public object data { get; set; }

    }

4:方法:

1)GetCNameString

 public static List GetCNameString()
        {
            int _dataCount = 0;
            List treeSelectList=new List();
            if (_apkList == null)
            {
                _apkList = HtmlDisplay.ApkList_Test(ref _dataCount);
                //_developerList = HtmlDisplay.DeveloperList_Test(ref _dataCount);
            }
            JavaScriptSerializer jss = new JavaScriptSerializer();
            jss.MaxJsonLength = 5242880 * 10;//
            string result = jss.Serialize(_apkList);
            result=result.Replace(":", "").Replace("\"", "").Replace("{", "").Replace("}", "");
            List list = result.Split(',').ToList();
            for (int i = 0; i < list.Count;i++ )
            {
                TreeSelectModel treeList = new TreeSelectModel();
                treeList.text = list[i];
                treeSelectList.Add(treeList);
            }
            return treeSelectList;

        }

2)TreeSelectJson

 public static class TreeSelect
    {
        public static string TreeSelectJson(this List data)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("[");
            sb.Append(TreeSelectJson(data, "0", ""));
            sb.Append("]");
            return sb.ToString();
        }


    
        private static string TreeSelectJson(List data, string parentId, string blank)
        {
            StringBuilder sb = new StringBuilder();
            var ChildNodeList = data.FindAll(t => t.parentId == parentId);
            var tabline = "";
            if (parentId != "0")
            {
                tabline = "  ";
            }
            if (ChildNodeList.Count > 0)
            {
                tabline = tabline + blank;
            }
            foreach (TreeSelectModel entity in ChildNodeList)
            {
                entity.text = tabline + entity.text;
                string strJson = entity.ToJson();
                sb.Append(strJson);
                sb.Append(TreeSelectJson(data, entity.id, tabline));
            }
            return sb.ToString().Replace("}{", "},{");
        }
    }


你可能感兴趣的:(c#原创文章,c#学习之路)