我收到错误:类型'GridView'的控件'MainContent_dgvRpt'必须放置在runat = server的窗体标记中。将网格视图数据导出为pdf
ASP代码:
<asp:GridView ID="dgvRpt" runat="server" Width="900px" CssClass="Grid" OnRowDataBound="dgvShowRpt_RowDataBound">
<RowStyle HorizontalAlign="Left" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="black" Font-Names="Arial" />
<PagerStyle BackColor="#CDCDCD" ForeColor="White" HorizontalAlign="Center" Font-Names="Arial" />
<HeaderStyle BackColor="#CDCDCD" Font-Bold="True" ForeColor="black" Font-Names="Arial" />
<HeaderStyle CssClass="GridHeader" Font-Names="Arial"></HeaderStyle>
<AlternatingRowStyle CssClass="GridAtlItem" />
</asp:GridView>.
C#代码:
GameLib.Utilities.ExportGrid(dgvRpt, "pdf", GameLib.Reports.ReportName);
if (ExportType == "pdf")
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + Filename + ".pdf");
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
gv.AllowPaging = false;
gv.HeaderRow.ForeColor = System.Drawing.Color.Black;
gv.FooterRow.ForeColor = System.Drawing.Color.Black;
gv.HeaderRow.Style.Add("font-Color", "Black");
gv.HeaderRow.Style.Add("font-size", "13px");
gv.HeaderRow.Style.Add("text-decoration", "none");
gv.HeaderRow.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
gv.Style.Add("font-Color", "Black");
gv.Style.Add("text-decoration", "none");
gv.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
gv.Style.Add("font-size", "11px");
gv.ForeColor = System.Drawing.Color.Black;
gv.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
HttpContext.Current.Response.Write(pdfDoc);
HttpContext.Current.ApplicationInstance.CompleteRequest();
得到错误在gv.RenderControl(HW);但我在runat = server中插入代码。请帮助我对问题进行排序。