2013-06-19 1 views
0

Я пишу, потому что я застрял в проблеме, у меня есть код, который в настоящее время записывает вывод страницы aspx в документ-документ. Этот код работает отлично. Однако мне нужно фактически сохранить этот файл на сервере. Вот код, который работает:Asp.net C# Capture Output to String

HttpContext.Current.Response.ContentType = "application/msword"; 
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=IR-" + lblReportNumber.Text + ".doc"); 
HttpContext.Current.Response.Write(this.Page.ToString()); 

Вот что я пытался сделать, чтобы получить желаемые результаты

string fileName = Path.Combine(Server.MapPath("~/"), "IR-" + lblReportNumber.Text + ".doc"); 
string page = this.Page.ToString(); 

Проблема заключается в том, в .doc файл, который записывается на сервер содержит только имя страницы для текста, а не полные контексты html.

Так что, если я открою документ слова из моего второго набора кода, все, что я вижу, это «clientpage.aspx», однако первый блок кода открывает полностью отформатированный Word.

У кого-нибудь есть идеи?

+0

Ваш первый код не делает ничего. Это работает только потому, что ASP.Net все равно записывает остальную часть страницы. – SLaks

ответ

0

Вы должны фактически произвести запись в файл, используя StreamWriter

как

using (System.IO.StreamWriter file = new System.IO.StreamWriter("filename") 
    { 
      file.WriteLine() 
    } 

Смотрите здесь: http://msdn.microsoft.com/en-us/library/vstudio/8bh11f1k.aspx

+0

Спасибо, это что-то новое для меня, поэтому я не совсем понимаю, как его реализовать. Как передать всю страницу потоковому потоку? – JStellato

 Смежные вопросы

  • Нет связанных вопросов^_^