-1
我有一個spgridview,並且想將其內容導出爲pdf。我正在使用itextsharp。但在rendercontrol調用時遇到錯誤。我已經嘗試了下面的線程中提到的解決方案。 Question另外我一直在使用類型'SPGridView'的控件'testGridview'必須放在窗體標籤內,runat = server
public override void VerifyRenderingInServerForm(Control control)
{
return;
}
嘗試,但怎麼一回事,因爲我寫在用戶控件的代碼是亙古不變的工作。 這是我的ascx代碼。
<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" />
這是我usercontrol.ascx.cs代碼
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();
}
這是例外,我得到
控制型 'SPGridView' 的 'ctl00_m_g_70a6af81_243a_45cf_a88e_3760d013ca12_ctl00_domainGridview' 必須放在裏面形式標籤與runat =服務器。
不知道爲什麼問題得到了downvoted?我應該知道我猜的原因 – Deepika