2016-04-18 28 views
5

Tôi có biểu mẫu web mà tôi đã sử dụng bộ công cụ HtmlEditorExtender1 của bộ công cụ ajax. Nó hoạt động tốt. Bây giờ tôi đang cố gắng để chuyển đổi toàn bộ webform thành pdf bằng cách sử dụng iTextSharp trên một nút bấm. Nhưng tôi nhận được lỗi này:Điều khiển bộ mở rộng 'HtmlEditorExtender1' không phải là điều khiển mở rộng đã đăng ký

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

tôi tin rằng nó có cái gì để làm với HtmlEditorExtender1

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

Đỉnh của Webform của tôi trông như thế này:

<%@ 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" %> 

Mã của tôi trên nút này nhấp:

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:

Tôi nhận được lỗi này tại địa chỉ:

this.Page.RenderControl(hw); 

enter image description here

+0

Bạn có ' ' trong mẫu web asp.net –

+0

@syedmhamudulhasanakash trong trang chính, vâng. – Arbaaz

+0

@syedmhamudulhasanakash Tôi vừa kiểm tra .. Tôi không thể tìm thấy scriptmanager trên trang chủ cũng như trang con .. Tôi đã thử thêm trình quản lý tập lệnh vào trang con nhưng sau đó tôi nhận được lỗi chỉ có thể thêm một phiên bản scriptmanager. Nó thật kì lạ. – Arbaaz

Trả lời

0

Nếu bạn pdf được tạo ra correclty

sau đó thử mã này

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

để lưu vào pdf.

Các vấn đề liên quan