【问题标题】:Write data from Textbox into text file in ASP.net with C#使用 C# 将文本框中的数据写入 ASP.net 中的文本文件
【发布时间】:2012-09-16 06:18:58
【问题描述】:

我有一个文本框,用户可以在其中输入他们的电子邮件,我想做的是让他们在单击提交按钮时做到这一点。该电子邮件将保存到名为 emails.txt 的文本文件(在我的服务器上)

我设法使用 System.IO 并使用 File.WriteAll 方法来完成这项工作。但是我想这样做,以便它将电子邮件添加到列表中(在新行上),而不是仅仅覆盖那里已经存在的内容。

我看到有人提到使用 Append,但我不太明白如何让它发挥作用。

这是我当前的代码(覆盖而不是附加)。

public partial class _Default : Page
{
    private string path = null;

    protected void Page_Load(object sender, EventArgs e)
    {
        path = Server.MapPath("~/emails.txt");
    }

    protected void emailButton_Click(object sender, EventArgs e)
    {
        File.WriteAllText(path, emailTextBox.Text.Trim());
        confirmEmailLabel.Text = "Thank you for subscribing";
    }
}

【问题讨论】:

    标签: c# asp.net writetofile


    【解决方案1】:

    您可以使用StreamWriter 来处理文本文件。 WriteLine 模式下的 WriteLine 方法每次都会在新行中附加您的电子邮件....

    using (StreamWriter writer = new StreamWriter("email.txt", true)) //// true to append data to the file
    {
        writer.WriteLine("your_data"); 
    }
    

    【讨论】:

      【解决方案2】:

      来自官方MSDN documentation

      using (StreamWriter w = File.AppendText("log.txt"))
      {
         MyWriteFunction("Test1", w);
         MyWriteFunction("Test2", w);
      }
      

      【讨论】:

        【解决方案3】:

        在附加模式下使用StreamWriter。使用WriteLine(data) 写入您的数据。

        using (StreamWriter writer = new StreamWriter("emails.txt", true))
        {
            writer.WriteLine(email);
        }
        

        【讨论】:

          【解决方案4】:

          似乎是一个非常简单的问题,答案非常简单:Open existing file, append a single line

          如果您发布当前代码,我们可以将其修改为追加而不是覆盖。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-08
            • 1970-01-01
            • 1970-01-01
            • 2021-06-02
            • 1970-01-01
            • 2016-09-01
            相关资源
            最近更新 更多