Ne mozes
Problem mozes da resis na dva nacina.
1. Direktno u ItemTemplate kroz DataBinder koji koristi refleksiju tako da moze da izdriluje u anonymous tip
Code:
<asp:Repeater ID="rptPersons" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "lastname") %>,
<%# DataBinder.Eval(Container.DataItem, "firstname")%><br />
</ItemTemplate>
</asp:Repeater>
2. Tako sto u LINQu neces instancirati anonymous tipove vec svoje predefinisane klase
Code:
public class Covek
{
public string firstname { get; set; }
public string lastname { get; set; }
}
...
var q = from p in db.Persons select new Covek() {firstname = p.firstname, lastname = p.lastname};
rptPersons.DataSource = q;
rptPersons.DataBind();
onda u rptPersons_ItemDataBind mozes da castujes e.Item.DataItem u Covek i da pristupis rezultatu. Btw, ne treba ti .ToList() nad rezultatom, asp.net datasource moze biti IEnumerable tako da linq objekat mozes direktno da bindujes, cim asp.net evaluira enumerable izvrsice SQL skriptu.