ASP. Net Core 3.1 SelectList загружает неверные данные из ViewData - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь загрузить SelectList через ViewData. Ранее я загрузил ViewData ["Almacenes"] со списком. Но когда отображается представление, в SelectList нет ожидаемых данных. Если я проверяю элемент в chrome, он показывает, что загружены неверные данные. Может ли кто-нибудь помочь мне? Я действительно ценю это. Спасибо.

Репозиторий

    public interface ISga_eDataService
    {
        public List<SelectListItem> GetAlmacenes();
    }

Контроллер

        public IActionResult Index()
        {
           ViewData["almacenes"] = _dataService.GetAlmacenes();
            return View();
        }

Просмотр

<div class="text-center">
    <span>Almacenes</span>
    <select id="Almacenes" asp-items="(IEnumerable<SelectListItem>)@ViewData["almacenes"]" />
</div>

Проверка списка выбора в Chrome

<select id="Almacenes">








            © 2020 - Sga_eMinMaxChecker - Privacy


    <script src="/lib/jquery/dist/jquery.min.js"></script>
    <script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
    <script src="/js/site.js?v=4q1jwFhaPaZgr8WAUSrux6hAuh0XDg9kPS3xIVq36I0"></script>



</select>

Промежуточное окно

?@ViewData["almacenes"]
Count = 32
    [0]: {Microsoft.AspNetCore.Mvc.Rendering.SelectListItem}
    [1]: {Microsoft.AspNetCore.Mvc.Rendering.SelectListItem}
    [2]: {Microsoft.AspNetCore.Mvc.Rendering.SelectListItem}
    [3]: {Microsoft.AspNetCore.Mvc.Rendering.SelectListItem}
    [4]: {Microsoft.AspNetCore.Mvc.Rendering.SelectListItem}
    ...

1 Ответ

0 голосов
/ 24 января 2020

Я нашел решение, но до сих пор не понимаю, почему управление так себя ведет. Так что, если кто-нибудь может объяснить мне, почему, я буду очень признателен.

Я изменился с

<select id="Almacenes" asp-items="(IEnumerable<SelectListItem>)@ViewData["almacenes"]" />

на

<select id="Almacenes" asp-items="(IEnumerable<SelectListItem>)@ViewData["almacenes"]"></select>

, и это работает.

...