[英]Control 'MainContent_GridView1' of type 'GridView' must be placed inside a form tag with runat=server
I have added iTextSharp to "Project>...Add References" and added them to using: 我已经将iTextSharp添加到“项目> ...添加引用”,并将它们添加到了使用:
using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
I get the error code at line "GridView1.RenderControl(hw);". 我在“ GridView1.RenderControl(hw);”行得到错误代码。
How do you add a runat="server" thru Gridview and the HtmlTextWriter: 如何通过Gridview和HtmlTextWriter添加runat =“ server”:
Control 'MainContent_GridView1' of type 'GridView' must be placed inside a form tag with runat=server.
Button1_Click Code: Button1_Click代码:
protected void Button1_Click(Object sender,System.EventArgs e)
{
string connStr = ConfigurationManager.ConnectionStrings["PDFMDF"].ConnectionString;
DataSet ds = new DataSet();
try
{
string cmdStr = "SELECT * FROM [GridviewTable];";
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
{
conn.Open();
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
conn.Close();
cmd.Dispose();
conn.Dispose();
}
}
}
catch (Exception ex)
{
TextBox1.Text = ex.ToString();
}
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=this.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.AllowPaging = false;
GridView1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document PDFdoc = new Document(PageSize.A4, 10.0F, 10.0F, 10.0F, 0.0F);
iTextSharp.text.html.simpleparser.HTMLWorker htmlparser = new iTextSharp.text.html.simpleparser.HTMLWorker(PDFdoc);
PdfWriter.GetInstance(PDFdoc, Response.OutputStream);
PDFdoc.Open();
htmlparser.Parse(sr);
PDFdoc.Close();
Response.Write(PDFdoc);
Response.End();
}
You can do this in your markup code. 您可以在标记代码中执行此操作。 Ex. 例如
<asp:GridView ID="GridView1" runat="server">
in my markup allready have code runat="server" add this code to your source 在我的标记中,已经准备好代码runat =“ server”将此代码添加到您的源代码中
public override void VerifyRenderingInServerForm(Control control)
{
return;
}
it solving the problem 它解决了问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.