Значение присваивания Viewbag для каждой итерации приводит к ошибке - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь динамически установить значение для каждой итерации

        int index = 0;
        foreach (var item in model.ResponseRetest)
        {  
            var result = _pointService.GetBuildings(item.ID).Select(x => new SelectListItem { Text = x, Value = x }).ToList();
            ViewBag.Company[index] = result;
            index++;
        }

Даже если результат имеет значение, я получаю следующую ошибку:

    Message "Cannot perform runtime binding on a null reference"     

1 Ответ

0 голосов
/ 28 сентября 2019

Использование ViewBag таким способом не рекомендуется, так как создает дополнительные издержки при распаковке данных при каждой итерации (в данном случае Company).Вероятно, ошибка возникает на первой итерации, поскольку вы применяете индексирование для несуществующего свойства Company.

    List<List<datatype>> companyResults = new List<List<datatype>>();

    foreach (var item in model.ResponseRetest)
    {  
        var result = _pointService.GetBuildings(item.ID).Select(x => new SelectListItem { Text = x, Value = x }).ToList();
        companyResults.Add(result);
    }

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