[英]Multiple params asp net mvc 4
我已經有一個城市參數,代表要在數據庫上搜索的城市名稱,當我執行mysite / List?city = mycityname時,一切工作正常,但是我想做的是我也想做一個按名字搜索和城市名稱示例List?city = mycityname&firstName = myfirstname。 我怎樣才能做到這一點 ? 這是我對城市的查詢,我也添加了firstname參數,但是我真的不知道如何添加它,因此它將對這兩個參數進行過濾。
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);
}
你可以這樣寫
Users = repository.Userss
.Where(p =>city == null || p.CityName == city )
.Where(p=> firstName == null || p.FirstName == firstName)
.OrderBy(p => p.UsersId)
// rest of your query
看下面的代碼:
public ViewResult List(string city, string firstName, int page = 1)
{
UsersListViewModel model = new UsersListViewModel
{
Users = repository.Userss
.Where((p =>city == null || p.CityName == city ) &&
(p =>firstname == null || p.FirstName == firstName))
.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);
}
您可以進行一些條件查詢,例如
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);
}
注意:我認為您還應該考慮TotalUsers
計算中的搜索條件
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.