0
HELP! LinkButtonまたはGridview_RowDeletingメソッドを使用して、DataBaseおよびFolderから同時にファイルを削除することは可能ですか?以下は、LinkButtonコントロールを使用して私のコードです:背後にLinkButtonまたはGridview_RowDeletingメソッドを使用して、データベースとフォルダからファイルを同時に削除する
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID = "lnkDelete" Text = "Delete" OnClientClick="return confirm('Are you sure you want to delete this record?');" CommandArgument = '<%# DataBinder.Eval(Container.DataItem,"ID") %>' runat = "server" OnClick = "DeleteFile" />
</ItemTemplate>
</asp:TemplateField>
コード:
protected void grdProducts_RowEditing(object sender, GridViewEditEventArgs e)
{
//Get seleted row
GridViewRow row = grdProducts.Rows[e.NewEditIndex];
//Get Id of selected product
int rowId = Convert.ToInt32(row.Cells[1].Text);
//Redirect user to Manage Products along with the selected rowId
Response.Redirect("~/Pages/Management/ManageProducts.aspx?id=" + rowId);
}
protected void DeleteFile(object sender, EventArgs e)
{
string filePath = (sender as LinkButton).CommandArgument;
File.Delete(filePath);
Response.Redirect(Request.Url.AbsoluteUri);
}
PL:私は、既存のGridViewコントロールと私のテーブルのデータソースを持っています。
'<%#DataBinder.Eval(Container.DataItem、 "ID")%>'として、その後DeleteFileを中CommandArgument()、あなたはそれを呼び出すことを取ってCommandArgument、filePathに... filePathに実際のファイルのパスを渡すべき "ID"としてバインドされたデータを含みます...あなたはそれをCommandArgumentとして提供できますか? –
ファイルのパスを指定するのと同じ方法で、<%#DataBinder.Eval(Container.DataItem、 "ID")%> '... <%#DataBinder.Eval(Container.DataItem、 "FilePath")%> 'それから、あなたはそこにいます –
" filePath "を試しました...このエラーメッセージが出ました:DataBinding: 'System.Data.DataRowView'に 'filePath'という名前のプロパティが含まれていません。 –