DropDownListFor没有ASP.NET MVC 3中的foreach

时间:2011-06-17 14:12:42

标签: .net asp.net asp.net-mvc-3 razor html.dropdownlistfor

ViewCode

public IList<Domain.Entity.Site> Sites { get; set; }

Controller(GetAll返回IList)

newViewModel.Sites = siteRepository.GetAll();

查看

@Html.DropDownListFor ?

我需要显示包含列表项属性的下拉列表。 Id和Url是列表中这些项目的一些属性。

2 个答案:

答案 0 :(得分:2)

有效!

视图模型

public IEnumerable<SelectListItem> Sites {get; set;}
public string SiteSelected {get; set;}

控制器

private IEnumerable<SelectListItem> GetAllSites()
{
    return context.SITE.Select(x => new SelectListItem
    {
        Text = x.NAME,
        Value = SqlFunctions.StringConvert((double)x.ID).Trim()
    }).ToList();
}

siteViewModel.Sites = GetAllSites();

查看

@Html.DropDownListFor(model => model.SiteSelected , Model.Sites)

答案 1 :(得分:0)

请参阅the accepted answer for this question

您需要修改它以适当地使用IList,但这是一个小代码更改。