首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展程序控件'HtmlEditorExtender1‘不是已注册的扩展程序控件

扩展程序控件'HtmlEditorExtender1‘不是已注册的扩展程序控件
EN

Stack Overflow用户
提问于 2016-04-18 07:30:40
回答 1查看 1.3K关注 0票数 5

我有一个使用ajax工具包的HtmlEditorExtender1的used表单。它很好用。现在,我正在尝试转换整个网页格式为pdf使用iTextSharp按钮点击。但是我发现了一个错误:

代码语言:javascript
复制
Extender control 'HtmlEditorExtender1' is not a registered extender control. Extender controls must be registered using RegisterExtenderControl() before calling RegisterScriptDescriptors().
Parameter name: extenderControl

我相信这和HtmlEditorExtender1有关

代码语言:javascript
复制
 <ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="txtkeyresultforyear" EnableSanitization="false" />

我的webform顶部看起来如下:

代码语言:javascript
复制
<%@ 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" %>

这是我的代码按一下按钮:

代码语言:javascript
复制
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();
}

编辑:

我在以下地方得到了这个错误:

代码语言:javascript
复制
this.Page.RenderControl(hw);

EN

回答 1

Stack Overflow用户

发布于 2016-04-18 09:06:49

如果您的pdf是生成correclty

然后试试下面的代码

代码语言:javascript
复制
        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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36687839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档