これは、gridview1 と呼ばれる datagridviewer と fileupload1 を取得した取引です。ファイルをアップロードすると、gridview1 とデータベース内のテーブルがファイル名とパスで更新され、そのファイルがフォルダー "Mag" に保存されます...やりたいことは逆ですが、グリッドビューを使用してテーブルエントリを削除する方法を知りましたが、フォルダー「Mag」からファイルを削除しても機能しません C#またはコードビハインドで次のコードを使用しました
protected void GridView1_Del(object sender, EventArgs e)
{
string DeleteThis = GridView1.SelectedRow.Cells[0].Text;
string[] Files = Directory.GetFiles(@"i:/Website/WebSite3/Mag/");
foreach (string file in Files)
{
if (file.ToUpper().Contains(DeleteThis.ToUpper()))
{
File.Delete(file);
}
}
}
それは私にエラーを与える
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"
plsは私が何を間違っているのか教えてください。プラットフォームを深く理解する必要はありません。事前にマークに感謝します。
ここに私が見つけた答えがあります すべての答えについてタミーと他のみんなに感謝します
ここで、取引対象関数は、グリッドビューとデータベーステーブルからファイルの詳細を削除し、ファイルが保存されているプロジェクトフォルダーからファイルを削除します
含めたいグリッドビューのスクリプトセクションに
OnRowDeleting="FuntionName"
いいえ
OnSelectedIndexChanged = "FuntionName"
また
OnRowDeleted="FuntionName"
次にC#コード(コードビハインド)で
protected void FuntionName(object sender, GridViewDeleteEventArgs e)
{
// storing value from cell
TableCell cell = GridView1.Rows[e.RowIndex].Cells[0];
// full path required
string fileName = ("i:/Website/WebSite3/Mag/" + cell.Text);
if(fileName != null || fileName != string.Empty)
{
if((System.IO.File.Exists(fileName)))
{
System.IO.File.Delete(fileName);
}
}
}
そして、学びたい人のための追加の参考資料として
OnRowDeleting="FuntionName" は、行を削除する直前に、削除をキャンセルしたり、データに対して関数を実行したりできるようにするためのものです。
OnRowDeleted="FuntionName" 直接削除