MVC.NET Создание выпадающего списка из коллекции моделей в строго типизированном виде

Итак, у меня есть вид, набранный с помощью такой коллекции:

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

ОрганизацияDTO выглядит следующим образом:

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

Я просто хочу создать Drop Down List из коллекции OrganizationDTO с помощью HTML-помощника, но для жизни я не могу понять это! Я иду об этом неправильно?

Должен ли я использовать цикл foreach для создания окна выбора?

Ответ 1

Я сделал небольшой пример с такой моделью, как ваша:

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")) %>

Ответ 2

Попробуйте следующее:

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