Я почти 2 дня искал в интернете, чтобы найти решение, но пока ничего не работает.
У меня 2 пользовательских элемента управления на странице. Сначала содержит AsyncFileUpload:
<cc1:AsyncFileUpload runat="server" ID="fuExcelUploader" Width="400px"
UploadingBackColor="#CCFFFF" ThrobberID="myThrobber"
CompleteBackColor="#CEF6CE" />
и второй имеет вид сетки с таким полем шаблона с кнопкой загрузки (файл Excel)
<asp:TemplateField HeaderText="Report with errors" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton id="lbError" CommandName="ErrorClick" runat="server" CommandArgument='<%# Eval("Report.Id") %>' ValidationGroup="other2357"><asp:Image ID="imgReport" runat="server"
ImageUrl="~/App_Themes/Default/Images/icons/page_excel.png" ImageAlign="Middle" Visible='<%# Convert.ToInt32(Eval("Report.Id")) > 0 %>' /></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
В RowCommand, если e.CommandName = ErrorClicked, у меня есть такой кусок кода для загрузки файла
Response.Clear();
Response.Buffer = true;
Response.AddHeader(
"Content-Disposition", string.Format("attachment; filename={0}", "Error_report_" + this.ErrorClicked + ".xlsx"));
HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats";
// Response.Cache.SetCacheability(HttpCacheability.Private);
Response.BinaryWrite(value); //value is byte[];
Response.End();
Отлично работает, я могу загружать файлы с помощью asyncfileupload, затем загружать отчеты, нажимая значки в gridview и т. Д., Но есть одна проблема.
Всякий раз, когда я нажимаю на иконку загрузки в окне сетки, появляется диалоговое окно загрузки файла, я могу сохранить / открыть / отменить, но что бы я ни делал, после того, как я пытаюсь загрузить новый файл с помощью asyncfileupload, происходит то же событие RowCommand с тем же «ErrorClick» 'CommandName и CommandArgument, поэтому я получаю это окно с файлом для загрузки снова (и страница заблокирована). Это может быть потому, что ни кнопка ссылки, ни asyncfileupload не обновляют всю страницу (это один и тот же постбэк?).
Есть ли у вас какие-либо представления о том, почему при загрузке с помощью asyncfileupload запускается команда rowcom или как решить эту проблему. В этом случае я не использую удпатепанели.