我正在使用Itext Sharp通过点击按钮为我网站上的现有订单创建pdf。它已作为Web部件添加到Sharepoint站点上。
在同一页面上,还有另一个包含许多服务器控件的Web部件。但是,当我点击任何按钮时,按钮点击事件不会触发。只有当我刷新页面时,事件才会被触发。
我无法同时创建pdf,然后立即点击另一个按钮而不刷新页面。我不明白我做错了什么。
以下是我的代码。
protected void PdfGenerate_OnClick(object sender, EventArgs e)
{
Font Arial = FontFactory.GetFont("Arial", 12, BaseColor.BLACK);
string imagename = "AAlogo.gif";
string imagepath = Page.Server.MapPath("/_layouts/Images/ImagesFolder/Image1.gif" ) ;
using (var ms = new MemoryStream())
{
using (var document = new Document(PageSize.A4,50,50,15,15))
{
PdfWriter.GetInstance(document, ms);
document.Open();
Paragraph img = new Paragraph();
Image aaImg = iTextSharp.text.Image.GetInstance(imagepath);
img.Add(aaImg);
img.IndentationRight = 5f;
//code to add all the elements here
PdfPTable table = new PdfPTable(3);
PdfPCell col1 = new PdfPCell(new Phrase("oRDER Number"));
table.AddCell(col1);
// code for the table...
document.Add(table);
}
document.Close();
}
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", "attachment;filename= Order Number" + .pdf");
Response.Buffer = true;
Response.Clear();
var bytes = ms.ToArray();
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.OutputStream.Flush();
}
}