Есть следующий контроллер:
public class CollegeController : Controller
{
private ICollegeRepository repository;
public int pageSize = 10;
public CollegeController(ICollegeRepository repo)
{
repository = repo;
}
public ViewResult List(string region,
string area,
string localityType, int page = 1)
{
CollegeListViewModel model = new CollegeListViewModel
{
Colleges = repository.Colleges
.Where(p => (region == null || p.Area.Region.Name == region)
&& (localityType == null || p.LocalityType.Name == localityType))
.Where(p => area == null || p.Area.Name == area)
.OrderBy(college => college.CollegeId)
.Skip((page - 1) * pageSize)
.Take(pageSize),
PagingInfo = new PagingInfo
{
CurrentPage = page,
ItemsPerPage = pageSize,
TotalItems = ((region == null) && (localityType == null)) ?
repository.Colleges.Count() :
repository.Colleges.Where(college => college.Area.Region.Name == region)
.Where(college => college.Area.Name == area)
.Where(college => college.LocalityType.Name == localityType).Count()
},
CurrentLocalityType = localityType,
CurrentRegion = region,
CurrentArea = area,
};
return View(model);
}
}
Вся проблема что при запуске если передать сначала region, а потом localityType, все отлично
Но если пытаться передать localityType, когда в region передано null, localityType тоже передает null
Другими словами, перед передачей localityType нужно обязательно передать region
Как подобное исправить?