在ASP.NET MVC中链接动态填充的下拉列表?

时间:2016-11-18 18:16:05

标签: jquery asp.net ajax asp.net-mvc

我对ASP.NET MVC5上动态填充的下拉列表有疑问。 让我们简化一下数据:

public class Country {
    public int Id {get;set;}
    public string InternationalCode {get;set;}
    public string Name {get;set;}
    public virtual ICollection<City> Cities {get;set;}
    ...
}
public class City{
    public int Id {get;set;}
    public int CountryId {get;set;}
    public string Name {get;set;}
    ...

}

在我的控制器中,我将国家/地区传递给ASP.NET的标准下拉帮助程序并在视图中显示 - 这里没有任何问题,感谢这个post。我的问题出现在这里 - 让我们说我在第一个下面有另一个下拉列表。如何根据首次下拉结果动态填充? 我在Controller中定义了以下方法:

public IEnumerable<City> GetCitiesFromCountry(int countryId) => db.Countries.Find(countryId).Cities;

如何在不重新加载页面的情况下调用它?我不能使用像Angular \ Knockout这样的高级技术 - 只允许使用JavaScript \ jQuery \ Ajax。

1 个答案:

答案 0 :(得分:0)

下拉级联最简单的方法应该是jquery ajax调用。根据所选id选择第一个下拉列表后,执行json jquery ajax调用获取下一个下拉列表所需的数据并填充该数据。您可以在控制器中编写mvc json结果操作以获取数据。