好吧,我确实是 LINQ 的新手,上周我已经阅读了有关 LINQ 的所有内容。我只是在玩玩,试图遵循我找到的一些示例(事实上,来自 Scott Gu 的关于该主题的 PDF),但我完全不知所措。有人可以告诉我为什么当我使用下面的代码将 GridView 绑定到下面的查询时,我没有得到任何数据吗?我可以在调试时看到结果,所以我知道它们是从数据库返回的,只是它们显然没有正确绑定。我读到一些内容说您无法直接绑定到结果,并且必须使用 BindingSource 作为中间步骤?
有人请告诉我我在这里缺少什么。
protected void Page_Load(object sender, EventArgs e)
{
SwapDBDataContext db = new SwapDBDataContext();
var users = from u in db.aspnet_Users
select new
{
Name = u.UserName,
ID = u.UserId
};
GridView1.DataSource = users;
GridView1.DataBind();
}
我只是使用一个空的 GridView。我曾假设绑定会负责设置列以匹配查询中的结果列 - 这是一个愚蠢的初学者错误吗?
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
您不必转换为列表或数组。绑定至少需要一个 IEnumerable,这就是您的 Users 变量。匿名类型只是编译器生成的具体类型的预编译占位符,因此您还应该能够绑定到匿名类型。
您的 GridView 可能没有设置 AutoGenerateColumns 属性,而这是让数据源定义显示哪些列所必需的。尝试启用该功能,然后查看 GridView 是否显示查询结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)