2013-09-23 95 views
-1

我有一個文本框,它有一些數據。 有一個按鈕。所以當我點擊按鈕時,「另存爲」對話框應彈出以將文本文本框數據保存到文件中。另存爲對話框以將文本框數據保存到文件中

我嘗試了各種方法,但得到錯誤n錯誤。在這裏,我給你簡要介紹我如何編寫代碼,如果我錯了,請讓我正確。 或者還有其他方法可以將TextBox數據保存到我想要的路徑中的文件中。

protected void ButtonIDSaveAs_Click(object sender, EventArgs e) 
    { 
     SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 
     saveFileDialog1.Title = "Save an Image File"; 
     saveFileDialog1.ShowDialog(); 

     if (saveFileDialog1.FileName != "") 
     { 
      System.IO.FileStream fs = 
       (System.IO.FileStream)saveFileDialog1.OpenFile(); 

      fs.Close(); 
     } 
    } 

感謝 維韋克

+0

_「我已經嘗試了各種方法,但得到誤差的n個錯誤。」 _ - 有哪些誤區?你現在究竟在哪裏卡住,發生了什麼,你期望發生什麼? – CodeCaster

+0

'/'應用程序中的服務器錯誤。 在進行OLE調用之前,當前線程必須設置爲單線程單元(STA)模式。確保您的Main函數具有標記的STAThreadAttribute。只有在調試器連接到進程時纔會引發此異常。 –

回答

1

SaveDialog.OpenFile創建一個新文件(覆蓋具有相同名稱choosen的現有文件),並返回可能被用作StreamWriter的構造函數的參數Stream對象。
所以,你可以簡單地寫

if (saveFileDialog1.FileName != "") 
    { 
     using(StreamWriter sw = new StreamWriter(saveFileDialog1.OpenFile())) 
     { 
      sw.Write(TextBox1.Text); 
     } 
    } 
+0

感謝史蒂夫爲您的解決方案。 但我仍然面臨同樣的問題。 '/'應用程序中的服務器錯誤。 在進行OLE調用之前,當前線程必須設置爲單線程單元(STA)模式。確保您的Main函數具有標記的STAThreadAttribute。只有在調試器連接到進程時纔會引發此異常。 –

+1

我已經看到了ASP.NET標籤,ASP.NET無法使用WinForms的SaveFileDialog控件。也許你可以使用javascript命令'document.execCommand(「saveas」);'但我不是這方面的專家 – Steve

相關問題