下面是一个示例代码,展示了如何在ASP.NET Core MVC中创建级联下拉列表。
public class LocationViewModel
{
public string SelectedProvince { get; set; }
public string SelectedCity { get; set; }
public List Provinces { get; set; }
public List Cities { get; set; }
}
public IActionResult Index()
{
var model = new LocationViewModel();
// 填充省份下拉列表
model.Provinces = GetProvinces();
return View(model);
}
private List GetProvinces()
{
// 从数据库或其他数据源获取省份列表
// 这里使用硬编码示例
return new List
{
new SelectListItem { Value = "1", Text = "省份1" },
new SelectListItem { Value = "2", Text = "省份2" },
new SelectListItem { Value = "3", Text = "省份3" }
};
}
@model LocationViewModel
public IActionResult GetCities(string provinceId)
{
var cities = GetCitiesByProvince(provinceId);
return Json(cities);
}
private List GetCitiesByProvince(string provinceId)
{
// 从数据库或其他数据源获取指定省份的城市列表
// 这里使用硬编码示例
if (provinceId == "1")
{
return new List
{
new SelectListItem { Value = "1", Text = "城市1" },
new SelectListItem { Value = "2", Text = "城市2" },
new SelectListItem { Value = "3", Text = "城市3" }
};
}
else if (provinceId == "2")
{
return new List
{
new SelectListItem { Value = "4", Text = "城市4" },
new SelectListItem { Value = "5", Text = "城市5" },
new SelectListItem { Value = "6", Text = "城市6" }
};
}
else if (provinceId == "3")
{
return new List
{
new SelectListItem { Value = "7", Text = "城市7" },
new SelectListItem { Value = "8", Text = "城市8" },
new SelectListItem { Value = "9", Text = "城市9" }
};