Возникла небольшая проблема, возможно, простое решение, но я не могу ее решить!
У меня проблема с отображением моих данных в виде.У меня есть 5 флажков, которые я хочу отобразить все данные, которые принадлежат каждому флажку.Флажок работает, когда я жестко кодирую свои данные в списке в моем представлении, но он не работает, когда я хочу отобразить данные из моей таблицы, что мне не хватает?
Мой код
Моя модель (созданная из моей таблицы с структурой сущностей)
public partial class Full
{
public int Id { get; set; }
public string Channel { get; set; }
public string Program { get; set; }
public string Category { get; set; }
public string Date { get; set; }
public string Time { get; set; }
public string Length { get; set; }
}
Мой взгляд
@model IEnumerable<Uppgift4.Models.Full>
@{
ViewBag.Title = "channel_Index";
var list = Model.ToList();
var list1 = list.Where(_ => _.Channel == "SVT1").Select(_ =>
_.Program).ToList();//select records which in one channel
var list2 = list.Where(_ => _.Channel == "SVT2").Select(_ =>
_.Program).ToList();
var list3 = list.Where(_ => _.Channel == "TV3").Select(_ =>
_.Program).ToList();
var list4 = list.Where(_ => _.Channel == "TV4").Select(_ =>
_.Program).ToList();
var list5 = list.Where(_ => _.Channel == "Kanal5").Select(_ =>
_.Program).ToList();
}
<style>
.hiddenRow {
padding: 0 !important;
}
.in-line {
display: inline;
}
</style>
<br />
<table class="table table-condensed" style="border-collapse:collapse;">
<thead>
<tr>
<th>
Channel
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr class="accordion-toggle">
<td><input type="checkbox" data-toggle="collapse" data-target="div
[id*='demo1']" /> SVT1</td>
</tr>
@for (var i = 0; i < @list1.Count; i++)
{
<tr><td colspan="2" class="hiddenRow"><div id="demo1+'@i'+"
class="accordian-body collapse">Program:@list1[i]</div> </td> </tr>
}
<tr data-toggle="collapse" data-target="#demo2" class="accordion-toggle">
<td><input type="checkbox" data-toggle="collapse" data-target="div
[id*='demo2']" /> SVT2</td>
</tr>
@for (var i = 0; i < @list2.Count; i++)
{
<tr><td colspan="2" class="hiddenRow"><div id="demo2+'@i'+"
class="accordian-body collapse">Program:@list2[i]</div> </td> </tr>
}
<tr data-toggle="collapse" data-target="#demo3" class="accordion-toggle">
<td><input type="checkbox" data-toggle="collapse" data-target="div
[id*='demo3']" /> TV3</td>
</tr>
@for (var i = 0; i < @list3.Count; i++)
{
<tr><td colspan="2" class="hiddenRow"><div id="demo3+'@i'+"
class="accordian-body collapse">Program:@list3[i]</div> </td> </tr>
}
<tr data-toggle="collapse" data-target="#demo4" class="accordion-toggle">
<td><input type="checkbox" data-toggle="collapse" data-target="div
[id*='demo4']" /> TV4</td>
</tr>
@for (var i = 0; i < @list4.Count; i++)
{
<tr><td colspan="2" class="hiddenRow"><div id="demo4+'@i'+"
class="accordian-body collapse">Program:@list4[i]</div> </td> </tr>
}
<tr data-toggle="collapse" data-target="#demo5" class="accordion-toggle">
<td><input type="checkbox" data-toggle="collapse" data-target="div
[id*='demo5']" /> Kanal5</td>
</tr>
@for (var i = 0; i < @list5.Count; i++)
{
<tr><td colspan="2" class="hiddenRow"><div id="demo5+'@i'+"
class="accordian-body collapse">Program:@list5[i]</div> </td> </tr>
}
</tbody>
</table>
Мой контроллер
public class FavoritChannelsController : Controller
{
TvProgramDBEntities db = new TvProgramDBEntities();
Full f = new Full();
public ActionResult channel_index()
{
List<Full> model = new List<Full>();
{
model.Add(new Full { Channel = "SVT1", Program = "fame" });
model.Add(new Full { Channel = "SVT1", Program = "sport" });
model.Add(new Full { Channel = "SVT2", Program = "news" });
model.Add(new Full { Channel = "TV3", Program = "hockey" });
return View(model);
}
}
, так что этот actionresult работает, когда я хардкодирую свойсписок, и теперь, когда я запускаю программу и нажимаю флажок SVT1, я получаю две программы Fame и sport.
Но я хочу представить все данные, которые у меня есть в моей таблице, поэтому я пробую это:
public ActionResult channel_index()
{
List<Full> model = new List<Full>();
foreach (var item in db.Full)
{
f.Channel = item.Channel;
f.Program = item.Program;
model.Add(f);
}
return View(model);
}
но я не получаю никаких данных на мой взгляд при запуске программы ..
Кто-нибудь знает решение?