0

我在 ASP 中声明了一个 gridview,如下所示:

<asp:GridView ID="GV_Sample" runat="server" AutoGenerateColumns="False" Visible="false" CssClass="tabela" style="margin: 0 auto;"
                UseAccessibleHeader="true" >
            <Columns>
                <asp:TemplateField HeaderText="Nome" HeaderStyle-CssClass="col1 column">
                    <HeaderTemplate>
                        Nome
                    </HeaderTemplate>
                    <ItemStyle CssClass="col1 column" />
                    <ItemTemplate>
                        <p><asp:Label ID="lbl_micro" runat="server" Text='<%# Bind("Descricao") %>' /></p>
                    </ItemTemplate>
                </asp:TemplateField>

                <asp:TemplateField HeaderText="Curso" HeaderStyle-CssClass="col2 column">
                    <HeaderTemplate>
                        Curso
                    </HeaderTemplate>
                    <ItemStyle CssClass="col2 column" />
                    <ItemTemplate>
                        <asp:HyperLink ID="link_micro" runat="server" Text='<%# "<span>"+ Eval("id") + "</span>" %>' NavigateUrl='<%# returnRawUrl() + "&id=" + Eval("id") %>' CssClass="linkBlock button-cursos" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>                        
        </asp:GridView>

在后面的代码中,我想使用 GV_Sample 的所有属性生成多个 Gridview,并且只需更改 DataSource:

for(int i=0; i<array.Count; i++)
{
     GridView gvr = GV_Sample;
     gvr.id="myGV_"+i;
     SqlDosCursos.SelectParameters["ID"].DefaultValue = array[i];
     gvr.DataSourceID = "SqlDosCursos";
     gvr.DataBind();
     myPlaceHolder.Controls.Add(gvr);
}

问题只是我在占位符中插入 GridView 的最后一个循环,应该插入的所有其他人都不存在。我该如何解决这个问题?

谢谢!

4

1 回答 1

1

您可以将 UserControl 写入新的 gridView

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %>

<asp:GridView ID="GridView1" runat="server"></asp:GridView>

然后将用户控件添加到占位符。

WebUserControl1 gvr = new WebUserControl1();
            myPlaceHolder.Controls.Add(gvr);
于 2012-12-27T10:16:01.163 回答