c# - Multiple params asp net mvc 4 -


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