У меня есть GridView, и я хочу добавить его на страницу веб-приложения ASP.NET и хочу экспортировать данные в Excel.
Без UpdatePanels я отлично работал со следующим кодом:
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader(
"content-disposition", string.Format("attachment; filename={0}", fileName));
HttpContext.Current.Response.ContentType = "application/msexcel";
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
// The GridView stuff.
// [...]
// render the htmlwriter into the response
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}
}
С UpdatePanels это больше невозможно, поэтому я думаю, что мне нужно использовать универсальный обработчик (* .ashx).
Возможно ли как-то передать данные в универсальный обработчик без использования переменных сеанса или это единственный способ сделать это?
Я также не хочу физически записывать файл на жесткий диск, поскольку он используется пользователем только один раз.
Есть предложения?