Вам нужно, чтобы IEnumerable отображался в DDL,
Попробуйте следующий пример (я не проверял, там могут быть ошибки типа)
Определите вашу модель как,
public class MyModel
{
public SchduleEnum SelectedCountry{ get; set; }
public ProgramCatagory SelectedState{ get; set; }
private IEnumerable<SelectListItem> stateList;
private IEnumerable<SelectListItem> countriesList;
public IEnumerable<SelectListItem> CountriesList;
{
get { return this.countriesList;}
}
public IEnumerable<SelectListItem> StateList
{
get { return this.stateList }
}
private void SetCountryList(IEnumerable<string> countries)
{
List<SelectListItem> items=new List<SelectListItem>();
countries.ToList().ForEach(s=>{
items.Add(new SelectListItem()
{
Text = s,
Value = s
});
});
this.countriesList = items;
}
private void SetStateList(IEnumerable<string> states)
{
List<SelectListItem> items = new List<SelectListItem>();
states.ToList().ForEach(s =>
{
items.Add(new SelectListItem()
{
Text = s,
Value = s
});
});
this.stateList= items;
}
}
Определите действие вашего контроллера как,
public PartialViewResult GetCountryList()
{
MyModel model = new MyModel();
var countries= *** ;//service call to get countries list
var states = *** ;//service call to get stateslist
model.SetCOuntryList(countries);
model.SetStateList(states);
return View(model);
}
и в представлении
<%:Html.DropDownListFor(m=>m.SelectedCountry,Model.countriesList)%>
<%:Html.DropDownListFor(m=>m.SelectedSState,Model.stateList) %>