我只是想一个TextBox控件的内容写在Web服务器的根目录文件......我怎么规定的呢?

请记住,我在本地\ COMMON \ IDE目录,而不是我的项目目录(这是我认为根源是当Web服务器测试这个......它使文件写入到我的程序文件\视觉工作室触发关闭)。

请问我的问题有事情做,在我的web.config中指定的位置是否正确?我试过了,仍然没有去...

由于多...

protected void TestSubmit_ServerClick(object sender, EventArgs e)
    {
        StreamWriter _testData = new StreamWriter("data.txt", true);
        _testData.WriteLine(TextBox1.Text); // Write the file.
        _testData.Close(); // Close the instance of StreamWriter.
        _testData.Dispose(); // Dispose from memory.       
    }
有帮助吗?

解决方案

protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
  using (StreamWriter _testData = new StreamWriter(Server.MapPath("~/data.txt"), true))
 {
  _testData.WriteLine(TextBox1.Text); // Write the file.
 }         
}

需要使用Server.Mappath虚拟路径和返回一个绝对的。 “〜”用于解析为应用程序的根。

其他提示

有像在WriteAllText类常见的操作上的文件File方法。

使用MapPath方法来获得物理路径在你的web应用程序的文件。

File.WriteAllText(Server.MapPath("~/data.txt"), TextBox1.Text);
protected void TestSubmit_ServerClick(object sender, EventArgs e)
{
    using (StreamWriter w = new StreamWriter(Server.MapPath("~/data.txt"), true))
    {
        w.WriteLine(TextBox1.Text); // Write the text
    }
}

请记住,你也得给文件夹IUSR帐户的写权限,一旦你上传到Web服务器。

我个人建议不要允许根文件夹的写权限,除非你有一个很好的理由这样做。然后你需要小心你允许被保存,所以你不小心让别人写自己的ASPX页面什么样的文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top