0
幫助!使用LinkButton或Gridview_RowDeleting方法同時從數據庫和文件夾中刪除文件是否可行?下面是一個使用一個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」)%>'爲CommandArgument,然後採取這一CommandArgument中的DeleteFile(),你叫它文件路徑文件路徑...將包含綁定爲「ID」的數據,並將其傳遞給實際文件的路徑...您可以將它作爲CommandArgument提供嗎? –
如果你可以像提供'<%#DataBinder.Eval(Container.DataItem,「ID」)%>'...一樣的方式提供文件路徑...也許像'<%#DataBinder.Eval(Container.DataItem, 「FilePath」)%>'那麼你在那裏 –
我已經嘗試過「filePath」...我得到這個錯誤信息:DataBinding:'System.Data.DataRowView'不包含名爲'filePath'的屬性。 –