Динамическая генерация загрузки из UpdatePanel завершается с ошибкой PageRequestManagerParserErrorException - PullRequest
0 голосов
/ 05 февраля 2010

Я новичок в ASP.NET AJAX и столкнулся с проблемой.

Страница использует UpdatePanel и Timer для проверки новых результатов очереди пакетной обработки. Когда результаты станут доступны, на них должны появиться ссылки для загрузки файлов результатов.

Я использую повторитель для форматирования ссылок, которые используют LinkButtons:

<asp:LinkButton ID="linkOutputFile" runat="server" OnCommand="linkOutputFile_Command" CommandArgument='<%# Container.DataItem %>'><%# Container.DataItem %></asp:LinkButton>

Элементы данных находятся в папке за пределами wwwroot, поэтому у меня этот обработчик команд автоматически создает загрузку:

protected void linkOutputFile_Command (object sender, CommandEventArgs e)
{
 String strFile = e.CommandArgument as String;
 String strExt = Path.GetExtension(strFile).ToLower();
 String strSourceFile = Path.Combine(Common.UploadFolder, strFile);

 Response.ContentType = "text/plain"; // all results files are text
 Response.AddHeader("content-disposition", "attachment; filename=" + strFile);
 Response.Buffer = true;
 Response.Write(File.ReadAllText(strSourceFile));
 Response.End();
}

Все с отображением и обновлением работает нормально, но когда щелкают ссылки, я получаю исключение PageRequestManagerParserErrorException, и в деталях отображается сообщение «Ошибка разбора рядом с« xxx »», где «xxx» - это содержимое из файлов.

Я считаю, что файлы читаются правильно, и обычно это будет работать, за исключением того, что UpdatePanel испытывает проблемы с моими вызовами Response.Write. Как я могу это исправить?

1 Ответ

0 голосов
/ 06 февраля 2010

Попробуйте перенаправить на обработчик, который отправит файл. как "download.ashx? file =" + e.CommandArgument

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...