Salve a tutti, mi trovo alle prese con un problema che riguarda una gridview.
Ho creato questa gridview all'interno di una pagina e un bottone per esportare i dati che compaiono in un file excel.
Se vado a visualizzare la pagina tutto ok, ma quando premo il bottone mi da errore dicendomi: "Il controllo 'MainContent_GridView1' di tipo 'GridView' deve essere inserito in un tag Form con runat=server.".
Se lo includo in un form con runat=server mi da errore perché mi dice che in una pagina può esserci un solo form con runat=server (la pagina ha una masterpage con la form in questione).
Come posso sbloccare la situazione?
Allego il codice per maggiore chiarezza!
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SchedaMovimenti.aspx.cs" Inherits="WebApplication1.Azioni.SchedaMovimenti" Title="Movimenti Azioni" MasterPageFile="~/Site.Master" %>
<script runat="server">
protected void ScaricaExcel_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=MovimentiAzioni.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
htmlWrite.WriteLine("<strong><font size='4'> Movimento Azioni al "+ DateTime.Today +"</font></strong>");
GridView1.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
</script>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>MOVIMENTI AZIONI</h2>
<div id="contenuto" runat="server">
<p></p>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="data" HeaderText="Data" SortExpression="data">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="20%" />
</asp:BoundField>
<asp:BoundField DataField="da_socio" HeaderText="Socio Venditore"
SortExpression="da_socio">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="20%" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="a_socio" HeaderText="Socio Compratore"
SortExpression="a_socio">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="20%" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="num_azioni" HeaderText="Numero Azioni"
SortExpression="num_azioni">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="20%" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:IntranetConnectionString %>"
SelectCommand="SELECT [data], [da_socio], [a_socio], [num_azioni] FROM [Movimenti_Azioni] ORDER BY [data], [da_socio], [a_socio]">
</asp:SqlDataSource>
<p></p>
<asp:Button ID="ScaricaExcel" runat="server" Text="Scarica Excel" OnClick="ScaricaExcel_Click" />
</div>
<div id="permessi" runat="server">
<asp:Label ID="Label1" runat="server" Font-Bold="True" style="color: #FF0000; text-align:center;">Non hai i permessi necessari per accedere alla pagina!</asp:Label>
</div>
</asp:Content>