繁体   English   中英

使用RowCommand / RowDeleting事件从文件夹/数据库中删除图像

[英]Delete image from Folder/Database using RowCommand/RowDeleting events

我正在上传图像并将它们显示在Gridview 。我将图像保存在文件夹中,并将数据保存在数据库中。如果我上传了3张图片并且必须删除我选择的图片,我想要。所以我有图片1 2 3。当我选择图片2时,这将被删除。我该怎么做? 这是我上传图片的代码:

string filename = Path.GetFileName(fileuploadimages.PostedFile.FileName);
fileuploadimages.SaveAs(Server.MapPath("Images/" + filename));

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["baza_chestionar"].ToString());
con.Open();

SqlCommand cmd = new SqlCommand("Insert into Images(ImageName,ImagePath) values(@ImageName,@ImagePath)", con);
cmd.Parameters.AddWithValue("@ImageName", filename);
cmd.Parameters.AddWithValue("@ImagePath", "Images/" + filename);
cmd.ExecuteNonQuery();

con.Close();
Response.Redirect("~/upload.aspx");

要删除文件,请使用System.IO.File.Delete

File.Delete(Path.Combine(path, filename));

其余的实现细节,即如何通知服务器要删除的适当文件,由您决定。

您可以在GridView的事件下面使用它来删除图像..

  1. RowCommand
  2. RowDeleting

代码背后

protected void grd_RowCommand(object sender, GridViewCommandEventArgs e)
{
    grd.Rows[e.RowIndex].FindControl("Control of the file Name"); 
    //Find control that contains file Name
    if (System.IO.File.Exists("FilePath"))
    {
        File.Delete(Path.Combine("path", "FileName"));
    }
    //Your Delete Code to delete record from database
}

protected void grd_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    grd.Rows[e.RowIndex].FindControl("Control of the file Name"); 
    //Find control that contains file Name
    if (System.IO.File.Exists("FilePath"))
    {
        File.Delete(Path.Combine("path", "FileName"));
    }
    //Your Delete Code to delete record from database
}

HTML

<asp:GridView ID="grd" runat="server" onrowcommand="grd_RowCommand" 
onrowdeleting="grd_RowDeleting">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="delete" runat="server" Text="Select" CommandName="delete"></asp:LinkButton> 
                <asp:LinkButton ID="deleteRow" runat="server" Text="Select" CommandName="deleteRow"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

请注意-您可以使用RowCommand/RowDeleting事件...,而我将使用RowDeleting

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM