На моей странице есть всплывающее окно.Кнопка всплывающего окна генерирует и загружает файл Aspose Excel.(На странице также есть настройки Ajax)
Теперь после загрузки файла моя кнопка отключена, и на странице ничего не работает, если я не обновляю ее вручную.
Всплывающее окно на странице
<div class="modal hide" id="AwaitPracSignoffReportModal">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>
<asp:Label runat="server" ID="lblPopupHeading" Text="Awaiting Practice Sign-off Report" /></h3>
</div>
<!-- Other asp controls in popup-->
<div class="modal-footer" style="margin-bottom: 5px">
<button class="btn" data-dismiss="modal">
Cancel</button>
<asp:Button runat="server" ID="btnGenerateReport" CssClass="btn btn-primary"
Text="Generate Report" ValidationGroup="ReportModal" OnClientClick="javascript:setFormSubmitToFalse();" />
</div>
</div>
Сценарий
function HideGenerateReportPopup() {
$('#AwaitPracSignoffReportModal').modal().hide();
}
function setFormSubmitToFalse() {
setTimeout(function () { _spFormOnSubmitCalled = false; }, 3000);
return true;
}
CodeBehind
btnGenerateReport.Click += (s, ev) =>
{
this.Presenter.ExportToExcel();
ScriptManager.RegisterStartupScript(this, this.GetType(), "Generate Report", "HideGenerateReportPopup();", true);
};
Код докладчика (другой проект)
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook();
int worksheetNo = 0;
foreach (System.Data.DataTable dt in ds.Tables)
{
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[worksheetNo];
worksheet.Cells.ImportDataTable(dt, true, "A1");
worksheet.AutoFitColumns();
worksheetNo++;
}
workbook.Save(HttpContext.Current.Response, filename, ContentDisposition.Attachment, new XlsSaveOptions(SaveFormat.Excel97To2003));
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
Я добавил функцию setFormSubmitToFalse, как рекомендовано здесь .Если я пытаюсь добавить AjaxSettings для btnGenerateReport, он выдает ошибку сценария
Uncaught Error: Sys.WebForms.PageRequestManagerParserErrorException: сообщение, полученное с сервера, не может быть проанализировано.Распространенные причины этой ошибки: изменение ответа путем вызова Response.Write (), фильтров ответа, HttpModules или трассировки сервера.
Когда я его удаляю, страница остается как естьи больше никаких контролов не работает.