У меня в настоящее время есть контроллер, который циклически просматривает мою базу данных «Сайты» и получает значение на основе идентификатора их сайта. Это выглядит так
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», но все равно получаю ту же ошибку
Почему это так?