GridView.DataSource ist während PostBack @ nu

Ich möchte eine Druck- / Download-CSV von jeder Gridview in meiner Anwendung implementieren. Diese beziehen ihre Daten über Datenquellen oder direkt über

gvSample.DataSource = Data;
gvSample.DataBind();

etzt war mein erster Ansatz, einen Download-Button in das Footer-Template zu setzen und den Download dort zu erledige

<asp:GridView ID="gvSample" runat="server">
 <PagerTemplate>
  <asp:ImageButton  ImageUrl="~/download.gif"  OnClick="dl_Click" runat="server" ID="dl"/>
 </PagerTemplate>
</asp:GridView>

un

protected void dl_Click(object sender, ImageClickEventArgs e)
{
    GridView gv = (GridView)this.Parent.Parent.Parent.Parent;
    string csv = ToCSV(gv.DataSource); //gv.DataSource is null, DatasourceID aswell
    Response.ContentType = "application/csv";
    Response.AddHeader("content-disposition", "attachment; filename=file.csv");
    Response.Write(csv);
    Response.End();           
}

Aber ich kann nicht auf die Daten zugreifen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage