SharePoint 웹 파트 솔루션의 ascx 페이지에서 Excel 그리드를 내보내기 위해 노력하고 있습니다. 이 오류 다음 발생 방법하지만 다음 내가 사용해야합니다이 오류를 방지하려면SharePoint 2010의 ascx 페이지에서 엑셀로 내보내기 표
Control 'ctl00_ctl24_g_20574c20_e209_4887_ab02_83ee55a79fc5_ctl00_gdReport' of type 'GridView' must be placed inside a form tag with runat=server.
다음 컴파일러는
public override void VerifyRenderingInServerForm(Control control) { }
전체 코드를 찾을 수 없습니다 "라는 적절한 방법이 무시 없습니다"라는 오류가 발생합니다 :
protected void btnExcelExport_Click(object sender, EventArgs e)
{
PrepareForExport(gdSharedReport);
ExportToExcel();
}
private void ExportToExcel()
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
Response.Charset = String.Empty;
Response.ContentType = "application/ms-excel";
StringWriter stringWriter = new StringWriter();
HtmlTextWriter HtmlTextWriter = new HtmlTextWriter(stringWriter);
gdSharedReport.RenderControl(HtmlTextWriter);
Response.Write(stringWriter.ToString());
Response.End();
}
private void PrepareForExport(Control ctrl)
{
//iterate through all the grid controls
foreach (Control childControl in ctrl.Controls)
{
//if the control type is link button, remove it
//from the collection
if (childControl.GetType() == typeof(LinkButton))
{
ctrl.Controls.Remove(childControl);
}
//if the child control is not empty, repeat the process
// for all its controls
else if (childControl.HasControls())
{
PrepareForExport(childControl);
}
}
}
을
첫 번째 오류는'.aspx' 페이지에'runat = "Server"'속성이 없습니다. 두 번째로 관련 코드를 더 게시해야합니다. 메소드가 재정의 될 수 있는지 확인해야합니까? – Brian
@Brian, 전체 코드가 추가되었습니다. Form에 VerifyRenderingInServerForm()을 사용하지 않았습니다. 또한, 내 눈금은 ascx 페이지에 배치됩니다. – Rishi
아마도 필요할 것입니다. – jp2code