c# - Control 'testGridview' of type 'SPGridView' must be placed inside a form tag with runat=server -


i have spgridview , want export content pdf. using itextsharp same. error encountered @ rendercontrol call. have tried solutions mentioned in below thread. question have tried using

public override void verifyrenderinginserverform(control control) {  return; } 

but doesnot work beacuse writing code in usercontrol. here ascx code.

<sharepoint:spgridview id="domaingridview" allowpaging="false" runat="server" autogeneratecolumns="false" showheader="true" showheaderwhenempty="true" allowsorting="true" gridlines="none" enabledeventvalidation="false"> <alternatingrowstyle cssclass="ms-alternating" /> <columns> <sharepoint:spboundfield datafield = "sitename" headertext = "team site name" sortexpression = "sitename"></sharepoint:spboundfield> <asp:boundfield datafield = "siteurl" htmlencode="false" headertext = "team site url" sortexpression = "siteurl" ></asp:boundfield> </columns> </sharepoint:spgridview>  <asp:button id="btnexport" runat="server" text="export" onclick="btnexport_click" /> 

this usercontrol.ascx.cs code

 protected void btnexport_click(object sender, eventargs e)     {          stringwriter sw = new stringwriter();         htmltextwriter hw = new htmltextwriter(sw);          usercontrol mycontrol = (usercontrol)loadcontrol("domainuserwebpartusercontrol.ascx");         domaingridview.rendercontrol(hw);          response.contenttype = "application/pdf";         response.addheader("content-disposition",             "attachment;filename=datatable.pdf");         response.cache.setcacheability(httpcacheability.nocache);            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();     } 

this exception getting

control 'ctl00_m_g_70a6af81_243a_45cf_a88e_3760d013ca12_ctl00_domaingridview' of type 'spgridview' must placed inside form tag runat=server.

finally got solution. using different approach alltogether.

 protected void btnexport_click(object sender, eventargs e)     {         dtuiexport = getdata();         //creating itextsharp table datatable data         pdfptable pdftable = new pdfptable(dtuiexport.columns.count - 1);          pdftable.defaultcell.borderwidth = 2;         int[] widths = new int[dtuiexport.columns.count - 1];        //setting font         basefont bf = basefont.createfont(environment.getenvironmentvariable("windir") + @"\fonts\arialuni.ttf", basefont.identity_h, true);          //setting width         (int x = 0; x < domaingridview.columns.count -1; x++)         {           widths[x] = (int)domaingridview.columns[x].headertext.length + 100;                       }         pdftable.setwidths(widths);          //setting headers         (int = 0; < dtuiexport.columns.count; i++)         {             if (i == 1)             { continue; }             itextsharp.text.font font = new itextsharp.text.font(bf, 10, itextsharp.text.font.normal);             font.color = new basecolor(domaingridview.headerstyle.forecolor);             string celltext = server.htmldecode(dtuiexport.columns[i].tostring());                             itextsharp.text.pdf.pdfpcell cell = new pdfpcell(new phrase(12, celltext, font));              pdftable.addcell(cell);              }          //copying data pdftable         (int = 0; < dtuiexport.rows.count; i++)         {             (int j = 0; j < dtuiexport.columns.count; j++)             {                 if (j == 1)                 { continue; }                      string celltext = server.htmldecode(dtuiexport.rows[i][j].tostring());                     itextsharp.text.font font = new itextsharp.text.font(bf, 10, itextsharp.text.font.normal);                     font.color = new basecolor(domaingridview.rowstyle.forecolor);                     itextsharp.text.pdf.pdfpcell cell = new itextsharp.text.pdf.pdfpcell(new phrase(12, celltext, font));                     pdftable.addcell(cell);             }         }        //creating pdf doc         document pdfdoc = new document(pagesize.a2, 10f, 10f, 10f, 0f);         pdfwriter.getinstance(pdfdoc, response.outputstream);         pdfdoc.open();         pdfdoc.add(pdftable);         pdfdoc.close();          response.contenttype = "application/pdf";         response.addheader("content-disposition", "attachment;filename=gridviewexport.pdf");         response.cache.setcacheability(httpcacheability.nocache);         response.write(pdftable);         response.end();     }         } 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

c# - Exception when attempting to modify Dictionary -