-1

FTP Webサイトからファイルを削除しようとしていますが、コードを機能させることができないようです。誰か助けてもらえますか?エラーは発生しません。何もしません。

private FtpWebRequest deleteRequest(string uri, string method)
{
    var r = (FtpWebRequest)WebRequest.Create(uri);
    string Delete = WebRequestMethods.Ftp.DeleteFile;

    r.Credentials = new NetworkCredential(TxtUsername.Text, TxtPassword.Text);
    r.Method = Delete = listView1.SelectedItems.ToString();
    return r;
}

残りのコード。

    private void openToolStripMenuItem_Click(object sender, EventArgs e)
    {
        textBox1.Text = TxtServer.Text + listView1.SelectedItems.ToString();
        deleteRequest(textBox1.Text, WebRequestMethods.Ftp.DeleteFile);
    }
4

3 に答える 3

1

に電話する必要がありますr.GetResponse()。メソッドからリクエストを返す必要はありません。

于 2012-12-18T02:14:05.863 に答える
1

ListViewで選択されているもので「DELETE」メソッドを上書きしています。


次の行:

r.Method = Delete = listView1.SelectedItems.ToString();

次の 2 つと同じです。

Delete = listView1.SelectedItems.ToString();
r.Method = Delete;

そのため、Delete最初に にあるものの値を取得し、SelectedItems次にその値を として使用しますMethod。それはおそらくあなたが考えていたものではありません。

于 2012-12-18T02:14:50.823 に答える
0

これは私が最終的に使用したコードです。本当に感謝しています。

private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ResultLabel.Text = "Deleting: " + listView1.SelectedItems[0].Text;
        ResultLabel.Show();
        this.Refresh();
        textBox1.Text = TxtServer.Text + listView1.SelectedItems[0].Text;
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(textBox1.Text);
        request.Method = WebRequestMethods.Ftp.DeleteFile;

        request.Credentials = new NetworkCredential(TxtUsername.Text, TxtPassword.Text);
        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
        ResultLabel.Text = "Deleted: " + listView1.SelectedItems[0].Text;
        response.Close();
    }

コードを完全に書き直して再試行したところ、うまくいきました。

于 2012-12-18T21:54:25.347 に答える