2014-02-25 22 views
1

在我的網頁中我使用兩個文本框在文本文件中添加記錄。 但問題是每當我插入新記錄時,文本文件中的上一條記錄自動刪除,而文本文件只包含當前記錄。 請幫我解決這個問題。 謝謝。如何在txt文件中創建新行

 <asp:TextBox ID="txt1" runat="server"></asp:TextBox><br /> 
     <asp:TextBox ID="txt2" runat="server"></asp:TextBox><br /> 
     <asp:Button ID="btn" runat="server" Text="save" OnClick="btn_Click" /> 

和我的代碼背後,是這樣的

protected void btn_Click(object sender, EventArgs e) 
    { 
     TextWriter tw = new StreamWriter(Server.MapPath("date.txt")); 
     tw.WriteLine(txt1.Text + txt2.Text + System.DateTime.Now); 
     tw.Close(); 
    } 
+0

不知道(=爲什麼TextWriter的依靠呢?)。還要注意,你並沒有處理可能引發錯誤的變量。在處理StreamWriter時,依賴於使用語句總是值得推薦的。除此之外,Shai是對的:你沒有追加文件。 – varocarbas

回答

0

我也做過這樣的,爲什麼你不使用StreamWriter的一切它也運作良好

protected void btn_Click(object sender, EventArgs e) 
    { 
     string text = txt1.Text + "" + txt2.Text+""+System.DateTime.Now; 
     string path=Server.MapPath("date.txt");    
     File.AppendAllText(path, text + "\n");    
    } 
2

更新您的TextWriter,使追加,像這樣:

TextWriter tw = new StreamWriter(Server.MapPath("date.txt"), true); 
+0

但請注意,該文件必須存在以允許追加不會觸發錯誤。 – varocarbas

+1

感謝Shahi Aharoni現在的工作 – akvickyit7

+0

,但現在我得到一個警告,此文件已被修改源代碼編輯器之外。是否要重新加載它?我該如何解決它? – akvickyit7

2

您需要使用的StreamWriter的其他重載方法,還有最後參數設置爲「追加」,並且必須設置爲「真」。

TextWriter tw = new StreamWriter(Server.MapPath("date.txt"),true);

相關問題