C# 扩展器控制';HTMLeditorExtender 1';不是已注册的扩展程序控件

C# 扩展器控制';HTMLeditorExtender 1';不是已注册的扩展程序控件,c#,asp.net,webforms,itextsharp,ajaxcontroltoolkit,C#,Asp.net,Webforms,Itextsharp,Ajaxcontroltoolkit,我有一个Web表单,在这个表单上我使用了ajax工具包的HtmlEditorExtender1。很好用。现在,我正试图通过单击按钮,使用iTextSharp将整个Web表单转换为pdf。但我得到了这个错误: Extender control 'HtmlEditorExtender1' is not a registered extender control. Extender controls must be registered using RegisterExtenderControl()

我有一个Web表单,在这个表单上我使用了ajax工具包的
HtmlEditorExtender1
。很好用。现在,我正试图通过单击按钮,使用iTextSharp将整个Web表单转换为pdf。但我得到了这个错误:

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

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

<%@ 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" %>
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();
}
我在以下位置收到此错误:

this.Page.RenderControl(hw);

如果正确生成pdf

然后试试这个代码

        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);

保存为pdf。

在asp.net web中是否有
form@syedmhamudulhasanakash在母版页中,是的。@Syedhamudulhasanakash,我刚刚检查过。。我在母版页和子版页上都找不到scriptmanager。。我尝试将脚本管理器添加到子页面,但出现了一个错误,即只能添加一个scriptmanager实例。这很奇怪。尝试在master的
顶部添加ScriptManagerpage@syedmhamudulhasanakash我仔细查看了一下,发现我的页面继承自母版页,而该母版页继承自另一母版页。母版页的母版页具有scriptmanager。