0

ページ内にリピーターコントロールがあり、リピーターコントロール内にグリッドビューがあります。グリッドビューをバインドしたい。しかし、私はできません。実行するとページが空になります。また、viewsourceも空です。これが私のコードです:

<asp:Repeater ID="DataRepeater" runat="server" 
        onitemdatabound="DataRepeater_ItemDataBound">
        <ItemTemplate>
            <asp:GridView ID="DataGridView" runat="server" AutoGenerateColumns="false">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <%#Eval("FirstName") %>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="FirstNameTextbox" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </ItemTemplate>
    </asp:Repeater>

protected void DataRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataCodeClass dc = new DataCodeClass();
        if (e.Item.ItemType == ListItemType.Item)
        {
            GridView gvID = e.Item.FindControl("DataGridView") as GridView;
            dc.GetData(gvID);
            gvID.DataBind();
        }
    }
public void GetData(GridView gv)
    {
        var get_data = from a in dataContext.GetTable<PersonalDetailTable>() select a;
        gv.DataSource = get_data;
    }
4

1 に答える 1

0

次のように、コントロールを使用しLiteralて FirstName を表示します。

<asp:TemplateField>
    <ItemTemplate>
        <asp:Literal ID="FirstNameLiteral" runat="server" Text='<%# Eval("FirstName") %>'></asp:Literal>
    </ItemTemplate>
    ....
</asp:TemplateField>
于 2012-08-23T12:50:41.087 に答える