private void BindGridViewCity(string search) { FiltersModel fm = Session["FiltersModel"] as FiltersModel; List<City> _View = new List<City>(); List<City> _TempView = new List<City>(); User LoggedInUser = HttpContext.Current.Session["LoggedUser"] as User; QueryBuilder qb = new QueryBuilder(); string query = qb.QueryForReportsCity(LoggedInUser,"City"); DataTable dt = qb.GetValuesfromDB("select * from City " + query+" order by CityName asc"); _View = dt.ToList<City>(); if (fm.RegionFilter.Count > 0) { _TempView.Clear(); foreach (var reg in fm.RegionFilter) { short _regID = Convert.ToInt16(reg.ID); _TempView.AddRange(_View.Where(aa => aa.RegionID == _regID).ToList()); } _View = _TempView.ToList(); } GridViewCity.DataSource = _View.Where(aa => aa.CityName.ToUpper().Contains(search.ToUpper())).ToList(); GridViewCity.DataBind(); }