2013-06-19 84 views
0

我在寫因爲我被困在一個問題上,我有代碼,當前寫入一個aspx頁的輸出到word文檔。這段代碼工作得很好。但是我需要將該文件實際保存到服務器。這裏是工作的代碼:Asp.net C#捕獲輸出到字符串

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的完整上下文。

因此,如果我從第二組代碼中打開word文檔,所有我看到的都是「clientpage.aspx」,但是第一個代碼塊會打開完全格式化的文檔。

有沒有人有任何想法?

+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

謝謝,這是我的新東西,所以我不清楚如何實現它。我如何將整個頁面傳遞給Streamwriter? – JStellato