GridView没有从LINQ语句填充

时间:2011-03-23 17:41:03

标签: c# asp.net linq-to-sql web-applications

我有一个未绑定到任何DataSource的GridView。在我的页面加载事件中,我正在编写此代码:

 protected void Page_Load(object sender, EventArgs e)
    {
        string getEntity = Request.QueryString["EntityID"];
        int getIntEntity = Int16.Parse(getEntity);

        OISLinq2SqlVs1DataContext dt = new OISLinq2SqlVs1DataContext();
        var tr = from r in dt.Users
                 join s in dt.Entities on r.Entity_ID equals s.ID
                 where s.ID == getIntEntity
                 select new
                 {
                     s.Name,
                     r.FirstName,
                     r.LastName,
                     s.Email,
                     //r.Email,
                     r.UserID,
                     r.Pwd,
                     s.Company,
                     s.Description,
                     s.Phone,
                     s.Fax,
                     s.WebSite

                 };

        GridView1.DataSource = tr;
        GridView1.DataBind();

    }

标记:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     Height="348px" Width="656px">
</asp:GridView>

现在我可以看到该值来自上一页,但我的GridView没有填充任何内容。我在这做错了什么?请帮忙!谢谢。

2 个答案:

答案 0 :(得分:2)

您应该将AutoGenerateColumns属性设置为true,这需要让数据源定义哪些列显示。

或者您必须手动指定要显示的列。

答案 1 :(得分:0)

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     Height="348px" Width="656px">
</asp:GridView>