Я искал почти 2 дня в Интернете, чтобы найти решение, но пока ничего не работает.Почему AsyncFileUpload запускает событие RowCommand в gridview?
У меня есть 2 пользовательских элемента управления на странице. Первый содержит AsyncFileUpload:
<cc1:AsyncFileUpload runat="server" ID="fuExcelUploader" Width="400px"
UploadingBackColor="#CCFFFF" ThrobberID="myThrobber"
CompleteBackColor="#CEF6CE" />
и второй имеет GridView с такой TemplateField с кнопкой загрузки (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 и т.д., но есть одна проблема ,
Когда я нажимаю на значок загрузки в gridview, появляется диалоговое окно загрузки файла, я могу сохранить/открыть/отменить, но что бы я ни делал, после того, как я попытаюсь загрузить новый файл с помощью asyncfileupload, то одно и то же событие RowCommand будет запущено с тем же " ErrorClick 'CommandName и CommandArgument, поэтому я снова получаю это окно с файлом для загрузки (и страница заблокирована). Возможно, это связано с тем, что ни ссылка, ни asyncfileupload не обновляют всю страницу (это одна и та же обратная передача?).
У вас есть идеи, почему команда rowcommand запускается при загрузке с помощью asyncfileupload или как решить эту проблему. В этом случае я не использую udpatepanels.
Является ли AsyncFileUpload внутри UpdatePanel, у которого нет параметра UpdateMode, установленного в «Условный»? – Lloyd
Нет, это вне обновления. Пытался добавить оба элемента управления в updatepanel, но проблема все еще существует. – Kostrzak
Установлен ли параметр UpdatePanels UpdateMode условным? – Lloyd