我有两个不同的SelectList(一个用于City,一个用于State)。我必须在单个下拉列表中填充这两个SelectList,并在Cities和States之间使用分隔符。 如何使用多个SelectList'来填充MVC下拉列表?
public SelectList Cities
{
get;
set;
}
public SelectList State
{
get;
set;
}
答案 0 :(得分:1)
不是试图将2个选择列表组合在一起,为什么不在源头上将它们组合在一起呢?您没有提供太多信息,但假设您正在使用LINQ
,并且假设您在城市和州之间存在数据库关系... < / p>
// get the city & state data
var cities = (from c in GetAllCities()
orderby c.Name
orderby c.State.Name
select new
{
cityid = c.Id,
cityname = c.Name,
state = e.State.Name
}).ToList();
// convert the data into a list of `SelectListItem`
var items = from cs in cities.AsEnumerable()
select new SelectListItem
{
Value = cs.cityid.ToString(),
Text = string.Format("{0} {1} ({2})", cs.cityname, cs.state)
};
// create the selectlist
return new SelectList(items , "Value", "Text");