我正在使用sql server数据库和实体框架(版本6)。
查看代码背后的代码:
public partial class WebForm1 : System.Web.UI.Page
{
private bdd1Entities bdd = new bdd1Entities();
protected void Page_Load(object sender, EventArgs e)
{
Repeater1.DataSource = bdd.Personnes.ToList();
Repeater1.DataBind();
}
}
这是aspx页面中的转发器源:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "Nom") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
它工作正常,但如果我在后面的代码中删除ToList()函数调用,我得到了
此异常:System.NotSupportedException
我不明白为什么。我只是想了解谢谢
答案 0 :(得分:0)
Repeater控件支持对实现System.Collections.IEnumerable
接口的任何对象(例如DataView,ArrayList,Hashtable等)或IListSource
接口的数据绑定。在您的情况下,上述任何接口与“Personnes”实例之间可能不存在任何隐式对话。这就是您需要将其转换为List
或将其转换为源接口类型的原因。