Я должен напечатать содержимое GridView в формате PDF. Я нашел этот код на net:
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Vithal_Wadje.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
vDati.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
vDati.AllowPaging = true;
vDati.DataBind();
На веб-странице у меня есть этот код:
<form id="form1" runat="server">
<asp:GridView ID="vDati" runat="server"> </asp:GridView>
</form>
Но, когда я запускаю код с кнопки, я получаю это ошибка: элемент управления vDati типа 'GridView' должен быть помещен в тег Form с runat = server. Но разве он уже не вставлен в тег формы? Где я go ошибся?