Почему мультисписок выборки не показывает выбранные пункты? MVC

Я шел дальше и затем возвратился к этому, но я все еще не могу заставить это работать.

        var companiesList = subcontractRepository.SubcontractCompanies(Subcontract.subcontract_id);
        IEnumerable<Guid> selectedList = companiesList.Select(a => a.Id);
        Companies = new MultiSelectList(companiesList, "Id", "Name", selectedList);

В SubcontractRepository.cs

    public class SelectCompanyItem
    {
        public string Name { get; set; }
        public Guid Id { get; set; }
    }

    public IEnumerable<SelectCompanyItem> SubcontractCompanies(Guid id)
    {
        return
            from c in db.companies
            select new SelectCompanyItem
            {
                Name = c.company_name,
                Id = c.company_id
            };
    }

Посмотреть:

        <p>
            <label for="Companies">Company:</label>
            <%= Html.ListBox("Companies", Model.Companies) %>
            <%= Html.ValidationMessage("Companies", "*") %>
        </p>

произведенный HTML:

    <p>
        <label for="Companies">Company:</label>
        <select id="Companies" multiple="multiple" name="Companies"><option value="4cf411d0-e111-488b-822f-ea194951cfda">Second Company</option>
        <option value="1c21e613-a668-4817-bf6d-73befb8c9dbd">Test Company</option>
        </select>
    </p>
5
задан RememberME 28 January 2010 в 21:17
поделиться

2 ответа

Я нашел решение. ListBox должен иметь другое имя из MultisElectlist. Я переименован в MultiSeleCtlist в моем оригинальном коде, и он работает. Я не хочу даже начать думать о том, сколько времени, которое я потратил на это!

8
ответ дан 14 December 2019 в 01:08
поделиться

Вот уродливая работа рядом сейчас. Установите Viewdata с выбранными вами значениями.

ViewData["Companies"] = new string[] { "guid-1", "guid-2" };

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

1
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: