Fejl ved indlæsning af data
Jeg læser min data sådan her på aspx siden<asp:Repeater id="rptLektioner" runat="server">
<ItemTemplate>
<div style="margin-left:145px; margin-top:50px; width:600px; height:auto;">
<%#Eval("Dato", "{0: dd. MMMM yyyy}") %> - <%#Eval("Titel") %><br />
<%#Eval("introtekst") %><br /><br />
<asp:Repeater ID="Repeater1" runat="server" DataSource='<%# Eval("noter") %>'>
<ItemTemplate>
<a href='PDF/<%#Eval("notelink") %>'>[<%#Eval("notenavn") %>]</a><br /><br />
</ItemTemplate>
</asp:Repeater>
<asp:Repeater ID="Repeater3" runat="server" DataSource='<%# Eval("optagelser") %>'>
<ItemTemplate>
<a href='PDF/<%#Eval("OptagelseLink") %>'>[<%#Eval("Optagelsenavn") %>]</a><br /><br />
</ItemTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
og min kode i codebehind ser sådan her ud
public List<Lektion> IndlaesLektionerMedNoter()
{
var lektioner = new List<Lektion>();
SqlConnection Conn2 = new SqlConnection();
Conn2.ConnectionString = ConfigurationManager.ConnectionStrings["masterConnectionString"].ToString();
SqlCommand cmd2 = new SqlCommand();
cmd2.Connection = Conn2;
cmd2.CommandText = "select KursusLektion.*, Kursusnoter.*, Optagelse.* FROM KursusLektion INNER JOIN kursusnoter ON KursusLektion.LektionId = kursusnoter.FK_Kursuslektion INNER JOIN Optagelse ON Optagelse.FK_Lektion = KursusLektion.LektionId WHERE (KursusLektion.FK_KursusId = @kursusid) ORDER BY KursusLektion.LektionId";
cmd2.Parameters.AddWithValue("@kursusid", SqlDbType.Int).Value = Request.QueryString["kursusid"];
Conn2.Open();
var reader2 = cmd2.ExecuteReader();
var prevId = 0;
Lektion lektion = null;
while (reader2.Read())
{
var id = Convert.ToInt32(reader2["LektionId"]);
if (prevId != id)
{
prevId = id;
lektion = new Lektion();
lektion.LektionId = id;
lektion.visLektion = (int)reader2["VisLektion"];
lektion.Dato = (DateTime)reader2["Dato"];
lektion.Titel = Convert.ToString(reader2["Titel"]);
lektion.noter = new List<kursusnoter>();
lektion.optagelser = new List<Optagelser>();
lektioner.Add(lektion);
}
var note = new kursusnoter();
note.kursusnoterId = Convert.ToInt32(reader2["kursusnoterId"]);
note.notenavn = Convert.ToString(reader2["notenavn"]);
note.notelink = Convert.ToString(reader2["notelink"]);
lektion.noter.Add(note);
var optagelse = new Optagelser();
optagelse.OptagelseID = (int)reader2["OptagelseID"];
optagelse.Optagelsenavn = (string)reader2["Optagelsenavn"];
optagelse.OptagelseLink = (string)reader2["OptagelseLink"];
}
return lektioner;
}
men af en eller anden grund viser den det her i stedet for
[Kursusnotater for lektion 1 del 1]
[Kursusnotater for lektion 1 del 1]
[Kursusnotater for lektion 1 del 2]
[Kursusnotater for lektion 1 del 2]
Det burde den ikke. Navne den udskriver er ikke korrekte. Jeg har prøvet at debugge den. Men i selve debuggen viser den korrekt information. Men når den så viser den på siden er det anerledes?