Quantcast
Channel: SharePoint 2010 - Development and Programming forum
Viewing all articles
Browse latest Browse all 11571

Control 'ctl00_SPWebPartManager1_g_d4fb972b_26ec_4065_9c89_80b51b384492_gvwikireport' of type 'GridView' must be placed inside a form tag with runat=server.

$
0
0

Hi,

I have written code for 'Export To Excel' in the visual web part as below

//ascx file    


<table>
    <tr>
        <td>From Date:</td>
        <td><SharePoint:DateTimeControl ID="dtFromDate" runat="server" DateOnly="True" /></td>
    </tr>
    <tr>
        <td>To Date:</td>
        <td><SharePoint:DateTimeControl ID="dtToDate" runat="server" DateOnly="True" TimeOnly="False" /></td>
    </tr>
    <tr>
      <td>Report Type:<asp:DropDownList ID="ddlreporttype" runat="server"><asp:ListItem>Consolidated</asp:ListItem><asp:ListItem>Question Wise</asp:ListItem></asp:DropDownList></td>       
        <td>
            <br />               
            <asp:GridView ID="gvwikireport" runat="server">
            </asp:GridView>                   
        </td>
    </tr>   
    <tr>
        <td><asp:Button ID="btnExportToExcel" runat="server" Text="Export To Excel" OnClick="btnExportToExcel_Click"/></td>
    </tr>  
    </table>

//cs file

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                BindGridview();
            }
        }

private void BindGridview()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("UserId", typeof(Int32));
            dt.Columns.Add("UserName", typeof(string));
            dt.Columns.Add("Education", typeof(string));
            dt.Columns.Add("Location", typeof(string));            
            dt.Rows.Add(1, "SureshDasari", "B.Tech", "Chennai");
            dt.Rows.Add(2, "MadhavSai", "MBA", "Nagpur");
            dt.Rows.Add(3, "MaheshDasari", "B.Tech", "Nuzividu");
            dt.Rows.Add(4, "Rohini", "MSC", "Chennai");
            dt.Rows.Add(5, "Mahendra", "CA", "Guntur");
            dt.Rows.Add(6, "Honey", "B.Tech", "Nagpur");
            gvwikireport.DataSource = dt;
            gvwikireport.DataBind();
        }

protected void btnExportToExcel_Click(object sender, EventArgs e)
        {
            Page.Response.ClearContent();
            Page.Response.Buffer = true;
            Page.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "WikiReport.xls"));
            Page.Response.ContentType = "application/ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);
            gvwikireport.AllowPaging = false;
            BindGridview();
            //Change the Header Row back to white color
            gvwikireport.HeaderRow.Style.Add("background-color", "#FFFFFF");
            //Applying stlye to gridview header cells
            for (int i = 0; i < gvwikireport.HeaderRow.Cells.Count; i++)
            {
                gvwikireport.HeaderRow.Cells[i].Style.Add("background-color", "#df5015");
            }
            gvwikireport.RenderControl(htw);
            Page.Response.Write(sw.ToString());

            Page.Response.End();            
        }

But after clicking the 'Export To Excel' button i am getting the below error

Control 'ctl00_SPWebPartManager1_g_d4fb972b_26ec_4065_9c89_80b51b384492_gvwikireport' of type 'GridView' must be placed inside a form tag with runat=server.

In case if i am modifying the code as below I am getting error as 'page can have only one server tag'.

<form id="frmgrdview" runat="server">

 <asp:GridView ID="gvwikireport" runat="server">
             </asp:GridView></form>

So please share your ideas/thoughts on the same.

Regards,

Sudheer 



Thanks & Regards, Sudheer


Viewing all articles
Browse latest Browse all 11571

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>