У меня есть проблема с модальным закрытием ... Так что я эта кнопка btnReportingExport
, который находится внутри модальногоЗакрыть модальное перед тем Response.Flush - C#
<div id="Reporting_footer" class="modal-footer">
<asp:Button ID="btnReportingExport" runat="server" Text="Export"
CssClass="btn btn-default" OnClientClick="ChangeModalFunction();"
OnClick="btnReportingExport_Click"/>
<input id="Submit1" class="btn btn-default" type="submit" data-dismiss="modal"
value="Cancel" />
</div>
Этой кнопка вызывает первую функцию ChangeModalFunction
JS, которая выглядит следующим образом
function ChangeModalFunction() {
$('#Reporting_modal').modal('hide');
$('#GenerateReport_modal').modal('toggle');
}
Так я просто скрыть модальный и показать другую модальность, который имеет только некоторые .gif
анимации на нем для создания отчета. После этого мое главное событие происходит btnReportingExport_Click
, что делает нагрузок вещи, принимая данные из SQL, поставив его на Excel, конвертировать в PDF, сжать и положить его в ответ Похоже, что это ...
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition",
string.Format("attachment; filename=\"{0}.zip\"", QuestionnaireName));
Response.WriteFile(FilePathZip);
Так что Я хотел бы достичь, но терпеть неудачу, чтобы закрыть модальный с .gif
на нем, прямо перед тем, как смывать мой ответ ... и я понятие не как сделать его больше
ScriptManager.RegisterStartupScript(this, this.GetType(),
"CloseModal", "Closepopup();", true);
Response.Flush();
Closepopup
функции не только просто функция, которая делает
function Closepopup() {
$('#GenerateReport_modal').modal('hide');
}
Итак, после этой длинной поездки код, моя проблема появляется, я получаю диалоговое окно файла загрузки, а мой модальный все еще работает и работает в фоновом режиме. И я все из идей, как это исправить, как я могу скрыть модальный код, прежде чем делать Response.Flush()
?
Спасибо за помощь, и я извиняюсь за стену текста
Огромное вам спасибо, я понимаю, что это правильный способ сделать это ... но мое знание AJAX плохо для того, чтобы выполнить его таким образом ... с небольшой помощью от @JABFreeware я понял способ создайте файл cookie, который будет проверяться после создания отчета, после изменения значения cookie. Я закрываю модальный файл и уничтожаю куки-файл и останавливаю интервал проверки – Veljko89