Вы возвращаете объект SelectList
как JSON, а затем пытаетесь выполнить итерацию непосредственно над этим объектом.SelectList
само по себе не перечисляемо;у него есть Items
член, который содержит перечислимое.Другими словами, вам нужно изменить свой JS на:
$.each(data.items, function (i, Constituency) {
Или просто вернуть список прямо из вашего действия.Нет необходимости заключать его в SelectList
, так как это ничего не делает для вас:
[HttpGet]
public IActionResult GetconstituencyList(string countyId)
{
var constituencylist = _context.Constituency.Where(c => c.county.CountyID == countyId).Select(c => new { value = c.ConstituencyID, text = c.Constituencyname });
return Ok(constituencylist);
}
Я также позволил себе сменить тип возвращаемого значения на IActionResult
вместоJsonResult
.Это плохая идея - возвращать JsonResult
или любой конкретный тип результата по этому вопросу напрямую.Пусть ASP.NET Core решит сериализацию на основе заголовка Accept
.