i have city parameter represent cityname i'll search on db, work when mysite/list?city=mycityname, i'm trying search firstname combined cityname example list?city=mycityname&firstname=myfirstname. how can ? here query city, added firstname parameter don't know how add it'll filter both.
public string currentfirstname { get; set; }
public viewresult list(string city, string firstname, int page = 1) { userslistviewmodel model = new userslistviewmodel { users = repository.userss .where(p =>city == null || p.cityname == city ) .orderby(p => p.usersid) .skip((page - 1) * pagesize) .take(pagesize), paginginfo = new paginginfo { currentpage = page, usersperpage = pagesize, totalusers = repository.userss.count() }, currentcity = city // currentfirstname = firstname }; return view(model); }
you can conditional query building like,
public viewresult list(string city, string firstname, int page = 1) { var query = repository.userss.where(p => city == null || p.cityname == city); if (firstname != null) query = query.where(p => firstname == null || p.firstname == firstname); var model = new userslistviewmodel { users = query .orderby(p => p.usersid) .skip((page - 1) * pagesize) .take(pagesize), paginginfo = new paginginfo { currentpage = page, usersperpage = pagesize, totalusers = repository.userss.count() }, currentcity = city // currentfirstname = firstname }; return view(model); } note: think should consider search criteria on totalusers calculation
hope helps.
Comments
Post a Comment