Extender control "HtmlEditorExtender1" is not a registered expander control

I have a web form in which I used the ajax toolkit HtmlEditorExtender1 . It works great. Now I am trying to convert the entire web form to pdf using iTextSharp when the button is clicked. But I get this error:

 Extender control 'HtmlEditorExtender1' is not a registered extender control. Extender controls must be registered using RegisterExtenderControl() before calling RegisterScriptDescriptors(). Parameter name: extenderControl 

I believe this has something to HtmlEditorExtender1 with HtmlEditorExtender1

  <ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="txtkeyresultforyear" EnableSanitization="false" /> 

The top of my web form is as follows:

 <%@ Page Title="" Language="C#" MasterPageFile="~/ModuleMain.master" AutoEventWireup="true" ValidateRequest="false" CodeBehind="xyz.aspx.cs" EnableEventValidation = "false" Inherits="abc.xyz" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 

This is my code at the click of a button:

 protected void btntopdf_Click(object sender, EventArgs e) { 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); this.Page.RenderControl(hw); 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(); } 

EDIT:

I get this error:

 this.Page.RenderControl(hw); 

enter image description here

+5
source share
1 answer

If you create a pdf file, answer

then try this code

  pdfWriter.CloseStream = false; pdfDoc.Close(); HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.ContentType = "application/pdf"; HttpContext.Current.Response.AddHeader("content-disposition:", "attachment;filename=" + _fileName + ".pdf"); // HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); HttpContext.Current.Response.Write(pdfDoc); 

to save in pdf.

0
source

Source: https://habr.com/ru/post/1247339/


All Articles