Вы можете сделать это на стороне javascript.
<input type="submit" value="Send It!" onClick="return ActionDeterminator();">
При щелчке, функция JavaScript ActionDeterminator () определяет URL альтернативного действия. Пример кода.
function ActionDeterminator() {
if(document.myform.reason[0].checked == true) {
document.myform.action = 'http://google.com';
}
if(document.myform.reason[1].checked == true) {
document.myform.action = 'http://microsoft.com';
document.myform.method = 'get';
}
if(document.myform.reason[2].checked == true) {
document.myform.action = 'http://yahoo.com';
}
return true;
}
Если я правильно понял, вы уже отфильтровали страны Азии, и вы хотите отфильтровать эти результаты дальше. Я бы сделал это одним из двух способов, если у вас есть население как int
var cities = asianCountries.Select(x => x.cities.Where( y => y.population > 500000)).ToList();
, если это строка, то
var cities = asianCountries.Select(x => x.cities.Where(y => Convert.ToInt32(y.population) > 500000)).ToList();
Это должно работать, я думаю.
Пример для объединения нескольких таблиц,
from ct in dbContext.Countries
join ci in dbContext.Cities on ct.CityID equals ci.ID
where (ct.continent == "asia") && (ci.Population == // yourCondition)
select new { country = ct.Name, city = ci.Name , // other fields you want to select
};
Вы можете взять справку о том, как объединить несколько таблиц здесь
Если объект реализует IQueryable<T>
, запрос выполняется только при перечислении объекта. Это означает, что вы можете объединять запросы в цепочку, и выполнение будет отложено до тех пор, пока вы не вызовете, например ToList()
.
В вашем примере вы могли бы сделать что-то вроде:
// to select the cities
var largeCities = dbContext.Countries
.Include(t => t.Cities)
.Where(c=> c.continent == "asia"
&& c.Cities.Population > 500000)
.Select(c => c.Cities).ToList();
// EDIT
// to select the countries that have these cities
var countries = dbContext.Countries
.Include(t => t.Cities)
.Where(c=> c.continent == "asia"
&& c.Cities.Population > 500000)
.ToList(); // remove .Select(c => C.Cities) if you want the countries
Или
var largeCities = asianCountries
.Where(c => c.Cities.Population > 500000)
.Select(c => c.Cities)
.ToList();