LIstbox в MVC 2 - PullRequest
       1

LIstbox в MVC 2

1 голос
/ 17 ноября 2010

У меня есть таблица сотрудников.Из этого я хочу загрузить имена сотрудников в поле списка.Я не знаю с чего мне начать.Пожалуйста, ведите меня.

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Как всегда, начните с определения модели представления, которая будет представлять ваши данные:

public class Employee
{
    public string Id { get; set; }
    public string Name { get; set; }
}

public class MyViewModel
{
    public string SelectedEmployeeId { get; set; }
    public IEnumerable<Employee> Employees { get; set; }
}

Затем контроллер, который будет управлять моделью:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var model = new MyViewModel
        {
            // TODO: Instead of hardcoding fetch from your repository
            Employees = Enumerable.Range(1, 5).Select(i => new Employee
            {
                Id = i.ToString(),
                Name = "employee " + i
            })
        };
        return View(model);
    }
}

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

<%: Html.DropDownListFor(
    x => x.SelectedEmployeeId, 
    new SelectList(Model.Employees, "Id", "Name")
) %>

Если вы хотите разрешить множественный выбор, иначе ListBox, необходимо внести некоторые изменения.Сначала вам нужен массив идентификаторов сотрудников в вашей модели:

public class MyViewModel
{
    public string[] SelectedEmployeeIds { get; set; }
    public IEnumerable<Employee> Employees { get; set; }
}

А затем используйте помощник ListBoxFor в представлении:

<%: Html.ListBoxFor(
    x => x.SelectedEmployeeIds,
    new SelectList(Model.Employees, "Id", "Name")
) %>
0 голосов
/ 17 ноября 2010

Вы также можете попробовать мой помощник AjaxDropdown и заполнить свой список через jquery Ajax (вам не нужно ничего знать о jquery)Вы можете попробовать и скачать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...