通过使用下面的代码我如何从asp .net中的文件夹中删除图像

时间:2014-12-25 11:28:13

标签: c# asp.net

<asp:GridView ID="gvDisplayImages" runat="server" BackColor="#CCCCCC" 
        BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" 
        CellSpacing="2" ForeColor="Black" AutoGenerateColumns="false" DataKeyNames="intId"
        onrowdeleting="gvDisplayImages_RowDeleting" 
        onselectedindexchanged="gvDisplayImages_SelectedIndexChanged">
        <Columns>
            <asp:CommandField SelectText="Delete" ShowDeleteButton="true" />
            <asp:BoundField DataField="varImageName" HeaderText="ImageName" 
                    SortExpression="varImageName" />
                    <asp:TemplateField HeaderText="Preview Image">
                    <ItemTemplate>
                    <asp:Image ID ="Img1" runat="server" Height="150" Width="200" ImageUrl='<%#ResolveUrl ("~/" + Eval("varImagePath")) %>' />
                    </ItemTemplate>
                    </asp:TemplateField>
        </Columns>
        <FooterStyle BackColor="#CCCCCC" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
        <RowStyle BackColor="White" />
        <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
        <SortedAscendingCellStyle BackColor="#F1F1F1" />
        <SortedAscendingHeaderStyle BackColor="#808080" />
        <SortedDescendingCellStyle BackColor="#CAC9C9" />
        <SortedDescendingHeaderStyle BackColor="#383838" />
    </asp:GridView>

cs页面的代码

protected void Page_Load(object sender, EventArgs e)
{
    BindData();
}
public void BindData()
{
    gvDisplayImages.DataSource = bcObj.DisplayImages();
    gvDisplayImages.DataBind();
}
protected void gvDisplayImages_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    int intId = Convert.ToInt32(gvDisplayImages.DataKeys[e.RowIndex].Value.ToString());
    bcObj.DeleteImage(intId);
    BindData();
    string filename = Convert.ToString(gvDisplayImages.Rows[e.RowIndex].FindControl("Img1") as Image);
    string filepath = "\\Image\\" + filename;
    FileInfo file = new FileInfo(filepath);
    if (file.Exists)
    {
        file.Delete();
    }
}

这里我在asp .net中使用3层架构通过使用上面的代码同时在gridview中单击删除按钮,图像将成功从数据库中删除。现在请告诉我如何从存储所有图像的文件夹中删除图像。

1 个答案:

答案 0 :(得分:2)

需要在代码中使用ImageUrl

像这样

string filename = ((Image)(gvDisplayImages.Rows[e.RowIndex].FindControl("Img1"))).ImageUrl;