Have you ever rendered and Excel, Word, or PDF document with ASP.NET and disabled the button when the user clicked "Export To Excel" so that they would only click it once? Then only to find out the the button is still disabled after Response.End() and you cannot enable it again?
protected void Page_Load(object sender, EventArgs e)
+ BtnPrint.ClientID + ".disabled=true;"
+ Page.ClientScript.GetPostBackEventReference(BtnPrint, null));
//Renable the button after 10 seconds
string Script = @"";
Script = Script.Replace("$BTNAME", BtnPrint.ClientID);
Page.ClientScript.RegisterStartupScript(GetType(), "script", Script);
Once you store a Word Document or PDF Document in your database as a BLOB you then need to convert it to a Byte Array in order for the browse to launch Word or Adobe to open the PDF. This example pulls either the Word or PDF version from a table.
//Select either the Word or PDF version
string ContentType = string.Empty;
string Extension = string.Empty;
ProposalDoc = row.PROPOSAL_WORD;
ContentType = "application/word";
Extension = ".doc";
ProposalDoc = row.PROPOSAL_PDF;
ContentType = "application/pdf";
Extension = ".pdf";
MemoryStream MemStream = new MemoryStream(ProposalDoc);
CTX.Response.ContentType = ContentType;
"attachment; filename=" + DocumentName + Extension);
CTX.Response.Buffer = true;
The ASPOSE document object is not searializeable. In order to save the object to the database you first have to convert it to a memory from the object (such as PDF of Word). Once you have it in a Byte Array you can updated a BLOB column in the database.
//Convert to WORD
MemoryStream outStream = new MemoryStream();
byte docBytes = outStream.ToArray();
//Convert to PDF
outStream = new MemoryStream();
byte pdfBytes = outStream.ToArray();