Ведущий Диалог
Зарегистрирован: 25 January 2006
Сообщения: 167
Примеры кода: 0
|
Опасность использования Response.Close(); внутри RaisePostBackEvent |
03 June 2008 21:26 |
|
|
|
|
Здравствуйте. Имеется компонент Custom Control в котором есть обработчик RaisePostBackEvent в котором имеется код для экспорта данных в Excel.
Код примерно такой:
System.Web.HttpResponse _myResponse = System.Web.HttpContext.Current.Response;
_myResponse.Clear();
_myResponse.ClearContent();
_myResponse.AddHeader("Content-Disposition", "attachment;filename=DataGridExport.xls");
_myResponse.ContentType = "application/vnd.ms-excel";
...
_myResponse.AddHeader("Content-Length", ByteLength.ToString());
_myResponse.AddHeader("Accept-Ranges", "bytes");
...
_myResponse.BinaryWrite(rawBytes);
...
_myResponse.Flush();
_myResponse.Close();
Из кода видно, что объект Response подвергается серьезным изменениям. Подскажите пожалуйста, не опасно так "влиять" на Response, если учесть что данный компонент является универсальным и его могут впихнуть куда угодно и как угодно? Не повредит ли он работе страницы в определенных (заранее неизвестных) условиях, например если человек посредством Response выводит какие-нибудь данные на странице? И если "да", то что делать в такой ситуации?
Большое спасибо.
Данное сообщение получено с сайта GotDotNet.RU
Последний раз редактировалось 03 June 2008 21:26
|
|