2011-10-25 108 views
1

我擁有的代碼應該是在程序運行後輸入所有輸入的用戶數據並將其全部放入文本文件中。將文本框數據寫入文本文件

這是迄今爲止代碼:

protected void WriteFile(object sender, EventArgs e) 
    { 
     FileStream fs = new FileStream(@"C:\Users\4567\MyDocuments\ExporterOutput.txt", FileMode.OpenOrCreate, FileAccess.Write); 
     TextBox[] tbs = { username, TextBox2, sgml, Path }; 
     StringBuilder sb = new StringBuilder(); 
     foreach (TextBox tb in tbs) 
      sb.AppendLine(tb.Text); 
     sb.AppendLine(DropDownList1.SelectedItem.ToString()); 
     sb.AppendLine(DropDownList2.SelectedItem.ToString()); 

     System.IO.File.WriteAllText(@"C:/Users/4567/My Documents/ExporterOutput.txt", sb.ToString()); 

我嘗試運行它和文本文件只顯示了空白。任何人都可以告訴我我做錯了什麼,以及是否有更簡單的方法將所有文本框信息輸出到文本文件。並且以某種格式可取。


這裏是你給我的建議編輯的代碼:

protected void WriteFile(object sender, EventArgs e) 
    { 
     TextBox[] tbs = { username, TextBox2, sgml, Path }; 
     StringBuilder sb = new StringBuilder(); 
     foreach (TextBox tb in tbs) 
      sb.AppendLine(tb.Text); 
     sb.AppendLine(DropDownList1.SelectedItem.ToString()); 
     sb.AppendLine(DropDownList2.SelectedItem.ToString()); 

     System.IO.File.WriteAllText(@"C:\\Users\\oZ012D\\My Documents\\ExporterOutput.txt", sb.ToString()); 
    } 
+0

您的代碼是用哪種編程語言編寫的? – johannes

+0

看起來像c#。我不能完全弄清楚爲什麼文本框的數組不會打印他們的文本。 DropDownLists可能被錯誤地使用 – Akron

+0

我正在使用asp.net c#,代碼隱藏。 – compucrazy

回答

0

好了,我要去這裏需要一些猜測。

你的最後一行應該是

System.IO.File.WriteAllText(@"C:\\Users\\4567\\My Documents\\ExporterOutput.txt", sb.ToString()); 

使用的是Windows,所以你需要「\」字符,而不是正斜槓,就像您在Linux上。這是通過在你的字符串中使用雙反斜槓(c#識別爲單個反斜槓)來實現的。

另外,嘗試擺脫你的第一行。您正在創建文件流,然後不使用或關閉它。我認爲開放式FS可能會導致問題。

不要擔心創建問題,WriteAllText()調用將創建該文件,如果它不存在並將覆蓋它,如果它。

讓我知道如果這是有效的,唯一另外一件看起來對我而言可能不正確的東西就是您從下拉菜單中獲取文本的方式。

+0

下拉列表不應該使用附錄嗎? – compucrazy

+0

附錄很好。我只是想知道通過調用.SelectedItem.ToString()生成的文本。如果你運行它並且工作,請檢查並查看從這些DropDownLists進入輸出文件的內容。如果這是你想要的,那麼很好! – Akron

+0

它不輸出任何文本框中的任何內容。我有一個瀏覽按鈕,創建一個txt文件並保存它,我希望它在該文件中,但沒有任何信息正在輸出。 – compucrazy