IEnumerable を埋めて、配列の長さごとに実行するループを作成します。値は、関数で 2 回発生する結果リストに追加されます。つまり、シーズンとカテゴリの場合です。各配列の長さは 2 つの値です。Cshtml に費やすと、2 つの値のうちの 1 つが高くなると、すべてが 2 回取得されます
// Set List
List<Template> result = new List<Template>();
List<TemplateList> tmp_list = new List<TemplateList>();
// Categories
string[] Categories_Array = TemplateModel.GetRoomCategories.Split(',');
// SeasonData
string[] SeasonData_Array = TemplateModel.GetSeasonsData.Split(',');
for (int i = 0; i < Categories_Array.Length; i++)
{
string[] Categories = Categories_Array[i].Split(';');
tmp_list.Add(new TemplateList { CategoreList = Categories[0], PriceList = "125,00" });
for (int a = 0; a < SeasonData_Array.Length; a++)
{
string[] SeasonData = SeasonData_Array[a].Split(';');
result.Add(new Template { GetSeasonsData = SeasonData[0] });
}
}
result.Add(new Template { TemplateLists = tmp_list });
return result.AsEnumerable();
cshtml
<table class="table" cellpadding="0" cellspacing="0" border="0">
<tr>
<th class="header">Season</th>
@foreach (var item in Model)
{
<th class="header">@item.GetSeasonsData</th>
}
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0" border="0">
@foreach (var item in Model)
{
foreach (var extra in item.TemplateLists)
{
<tr class="double">
<td class="roomlist">@extra.CategoreList</td>
<td class="pricelist">@extra.PriceList</td>
</tr>
}
}
</table>
</td>
</tr>
The Arrays: カテゴリEZ;1,DZ;2
シーズンSummer;01.12.2013;31.12.2013,Winter;01.06.2013;31.06.2013
カテゴリが 3 つある場合のみ シーズンは 1 つだけです まだ使用可能です 3 つの "tr" シーズンによってロードされない
ありがとうございました