0

我刚刚将 linq 数据附加到 gridview 它没有显示行?

DataDataContext db = new DataDataContext();
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
        BindData();
}

private void BindData()
{ 
    var source = from n in db.Names
                 select n;

    gridSample.DataSource = source.ToList<Name>();
    gridSample.DataBind();'
}

<asp:UpdatePanel ID="panelGrid" runat="server">
    <ContentTemplate>
        <asp:GridView runat="server" ID="gridSample" AutoGenerateColumns="false">
            <Columns>
                <asp:TemplateField HeaderText="First Name">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtFirstName" runat="server" Text='<%Bind("FirstName") %>' />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label runat="server" ID="lblFirstName" Text='<%Eval("FirstName") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Last Name">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtLastName" runat="server" Text='<%Bind("LastName") %>' />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label runat="server" ID="lblLastName" Text='<%Eval("LastName") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Date of Birth">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDOB" runat="server" Text='<%Bind("DOB") %>' />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label runat="server" ID="lblDOB" Text='<%Eval("DOB") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
   </ContentTemplate>
</asp:UpdatePanel>
4

3 回答 3

0

尝试这个

List<Name> source = (from n in db.Names select n).ToList();

        gridSample.DataSource = source;
        gridSample.DataBind();'


<asp:TextBox ID="txtFirstName" runat="server" Text='<%# Bind("FirstName") %>' />
于 2012-07-16T10:56:51.017 回答
0

尝试这个:

 private void BindData()
    {

        var source = from n in db.Names
                     select n;

        gridSample.DataSource = source;
        gridSample.DataBind();'
    }

问候

于 2012-07-16T11:22:55.517 回答
0

设置属性

自动回邮 = 真

对于 GridView。因为它在 UpdatePanel 内。

于 2012-11-07T07:26:53.250 回答