C# 通过使用下面的代码,如何从asp.net中的文件夹中删除图像
cs页面代码C# 通过使用下面的代码,如何从asp.net中的文件夹中删除图像,c#,asp.net,C#,Asp.net,cs页面代码 protected void Page_Load(object sender, EventArgs e) { BindData(); } public void BindData() { gvDisplayImages.DataSource = bcObj.DisplayImages(); gvDisplayImages.DataBind(); } protected void gvDisplayImages_RowDeleting(object sende
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中的三层体系结构,通过使用上面的代码,同时单击gridview中的删除按钮,成功地从数据库中删除了图像。现在请告诉我如何从存储所有图像的文件夹中删除图像。需要在代码中使用
ImageUrl
像这样
string filename = ((Image)(gvDisplayImages.Rows[e.RowIndex].FindControl("Img1"))).ImageUrl;
您已经编写了从文件夹中删除文件的代码。我知道代码在那里,但是当我调试代码时,我无法获取图像的文件名。需要在代码中使用
ImageUrl
。如下string filename=((Image)(gvdisplaymages.Rows[e.RowIndex].FindControl(“Img1”)。ImageUrl代码>由于您尝试了三层体系结构:您可能希望将文件的删除从表示层移到bcObj中…不,这不起作用。如果当时只存在一个图像,它会给出错误,如果存在更多图像,它会获取另一个图像的id如果存在更多图像,您真正的意思是什么?你得到的错误是什么?索引超出了范围。必须为非负数且小于集合的大小。参数名称:indexmore images表示多个成像器u在每行或单个图像中存储多个图像?