У меня есть панель на моем веб-форму, в этой панели у меня есть много вещей вместе суправления типа «HtmlEditorExtender» должны быть помещены внутри тега формы с RunAt = сервер
Кнопка Нажмите
protected void btntopdf_Click(object sender, EventArgs e)
{
AjaxControlToolkit.HtmlEditorExtender extender = (AjaxControlToolkit.HtmlEditorExtender)Panel1.FindControl("HtmlEditorExtender1");
Panel1.Controls.Remove(extender);
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
Panel1.RenderControl(hw); // error over here
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
ОШИБКА:
Control 'ContentPlaceHolder1_ContentPlaceHolder1_HtmlEditorExtender1' of
type 'HtmlEditorExtender' must be placed inside a form tag with runat=server.
Webform:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Panel ID="Panel1" runat="server">
//lot of stuff in between
<ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="txtkeyresultforyear"
EnableSanitization="false">
</ajaxToolkit:HtmlEditorExtender>
//lot of stuff in between
</asp:Panel>
</asp:Content>
Я вижу, что у вас есть главная страница, можете ли вы подтвердить, что 'ContentPlaceHolder' находится внутри'
У меня есть главная страница на главной странице, у самой главной главной страницы есть скрипт-менеджер, который хорошо находится внутри '