Я нашел решение, и оно довольно простое, вам просто нужно поместить GridView в UpdatePanel и указать на PostBackTrigger в этом элементе управления:
...
Проблема с JavaScript исчезает с этим, но это необходимо изменить код для снятия с охраны файла:
response.ClearContent();
response.Clear();
response.AddHeader("Content-Disposition", "attachment; filename=" + stName);
response.AddHeader("Content-Length", toDownload.Length.ToString());
response.ContentType = "application/octet-stream";
response.WriteFile(stUbication);
response.Flush();
Однако он не работает без обратной передачи, поскольку необходимо перезагрузить страницу для отправки файлов, некоторые реализации, которые я обнаружил в Интернете, были с элементом управления AsyncFileUpload, но он не адаптируется к моему проекту, потому что я отвечаю за несколько файлов, другие реализации используют AJAX и ASHX, но в моем случае мне нужен GridView ... Я до сих пор не знаю, есть ли решение для этот вопрос.
Эти ссылки очень помогли понять проблему:
Загрузка файла не работает с AsyncPostBackTrigger в ASP.Net
https: // forums.asp.net/t/1669892.aspx?Request+Files+is+empty
У меня была та же проблема с анонимными делегатами. Фиксация для анонимного делегата, форматирующего, здесь :
я действительно наконец находил способ зафиксировать это. Опции для форматирования анонимных методов распространены через две отдельных страницы в опциях ReSharper: Расположение Фигурных скобок и Другой. “don’t отступ смешной amount” находится на Другой странице и it’s по имени анонимный метод “Indent body”. Выключите его и установите опцию фигурной скобки на конец “At line”, и Вы получаете что-то намного более хорошее:
, Но я не уверен в форматировании набора объявления экземпляра, я боюсь. :(
Я только сегодня с этим поссорился. Зайдите на ReSharper\Options\Languages\C#\Formatting Style\Other
Прокрутите в нижнюю часть списка и снимите флажок "Блок инициализатора индентного массива, объекта и коллекции"
Это помогло мне.