MVC .NET在强类型视图中从模型集合创建下拉列表

时间:2012-10-04 19:49:09

标签: c# asp.net-mvc asp.net-mvc-2

所以我有一个类似于这样的集合的视图:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IList<DTO.OrganizationDTO>>" %>

OrganizationDTO看起来像这样:

public OrganizationDTO
{
    int orgID { get; set; }
    string orgName { get; set; }
}

我只是想使用HTML助手从OrganizationDTO的集合中创建一个下拉列表,但对于我的生活,我无法弄明白!我是以错误的方式解决这个问题吗?

我应该使用foreach循环来创建选择框吗?

2 个答案:

答案 0 :(得分:13)

我做了一个小例子,有一个类似你的模型:

public class OrganizationDTO
{
    public int orgID { get; set; }
    public string orgName { get; set; }
}

和控制器如:

public class Default1Controller : Controller
{
    //
    // GET: /Default1/

    public ActionResult Index()
    {
        IList<OrganizationDTO> list = new List<OrganizationDTO>();
        for (int i = 0; i < 10; i++)
        {
            list.Add(new OrganizationDTO { orgID = i, orgName = "Org " + i });
        }

        return View(list);
    }

}

并在视图中:

<%= Html.DropDownListFor(m => m.First().orgID, new SelectList(Model.AsEnumerable(), "orgId","orgName")) %>

答案 1 :(得分:5)

试试这个:

<%= Html.DropDownList("SomeName", new SelectList(Model, "orgID", "orgName"), "Please select Organization") %>