Сообщение об ошибке «Указанный ключ отсутствует в словаре» при использовании ViewBag - PullRequest
0 голосов
/ 18 марта 2020

У меня в настоящее время есть контроллер, который циклически просматривает мою базу данных «Сайты» и получает значение на основе идентификатора их сайта. Это выглядит так

 osiTotal[s.ID] = osiPartCost[s.ID] + osiCompCost[s.ID] + osiItemCost[s.ID]; 
 ViewBag.OSITotal = new Dictionary<int, float>();                
 ViewBag.OSITotal[s.ID] = osiTotal[s.ID]; 

И тогда мой просмотр выглядит так

 @foreach (Site s in sites)
{
 <tr>
                <td style="font-weight : bold;">Total</td>
                <td style="font-weight : bold;">@ViewBag.OSITotal[s.ID]</td> // Receive error message on this line
 </tr>
}

Но я получаю сообщение об ошибке

Указанный ключ отсутствует в словаре

Я пытался сделать это, на мой взгляд

 @foreach (Site s in sites)
{
 <tr>
                <td style="font-weight : bold;">Total</td>
                <td style="font-weight : bold;">@ViewBag.OSITotal[1]</td>
 </tr>
}

Где я автоматически присваиваю @ViewBag.OSITotal значение «1», но все равно получаю ту же ошибку

Почему это так?

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