Здравствуйте, согласно вашей проблеме, что я понял, и в соответствии с вашими требованиями. Я предлагаю вам упомянуть ниже вещи
Создайте модель представления, как упомянуто ниже
public class siteViewModel
{
public int SiteId {get;set;}
public Bool ShowColumn {get;set;}
}
Создайте список и установите сопоставление с идентификатором сайта и добавьте объект в список, как показано ниже в вашем контроллер.
List<siteViewModel> siteData = new List<siteViewModel>();
foreach (Site s in sites)
{
var OffReportRows = new Queue<List<string>>();
if (osiTotal[s.ID] > 0)
{
// your OffReportRows related code here
siteData.Add(new siteViewModel() {SiteId =s.ID,ShowColumn =true });
}
else
{
siteData.Add(new siteViewModel() {SiteId =s.ID,ShowColumn =false });
}
}
viewbag.MapData = siteData;
AT Вид сбоку, внести следующие изменения
@{
List<siteViewModel> data = (List<siteViewModel>)viewbag.MapData;
}
@foreach (Site s in sites)
{
if(data.Any(a=> a.SiteId==s.ID && a.ShowColumn))
{
<tr>
<td style="font-weight : bold;">@s.Name</td>
// add you fields as per requirements
</tr>
}
else
{
// do as per requirements
}
}