注册 登录
编程论坛 ASP.NET技术论坛

使用GRIDVIEW自带的删除的问题

donard 发布于 2007-05-30 10:51, 1168 次点击
在做资源下载,上传和管理时,当要删除已经上传过的资料时,使用GRIDVIEW自带的删除按钮,点击后,只删除了数据库中对应的项,但是之前上传时下载到文件夹的资料,还在文件夹里
怎么把上传过的资料一起删掉?
5 回复
#2
GrimFish2007-05-30 11:08
引入命名空间
using System.IO;

用FILEDELETE的方法
File.Delete("文件路径以及文件名");

在gridview的RowDeleting事件里,把路径取出来删除
#3
donard2007-05-31 12:43

rowDeleting 事件在哪里?找不到阿

#4
cyyu_ryh2007-05-31 12:49
要找到文件路径,是SERVER.PATCH
#5
GrimFish2007-05-31 14:02

选择你的gridview控件,然后在属性栏里有个闪电的图标,那就是gridview的事件了,找到RowDeleting,双击````

#6
tel19822007-05-31 14:14
给你个例子,你看一下:
private void dgimgshow_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
try
{
if(e.CommandName=="del")
{
if(dgimgshow.Items.Count==1)
{
if(dgimgshow.CurrentPageIndex!=0)
dgimgshow.CurrentPageIndex=dgimgshow.CurrentPageIndex-1;
}
// string strconn=ConfigurationSettings.AppSettings["dsn"];
SqlConnection conn=new SqlConnection(Application["conStr"].ToString());
conn.Open();
//先删除具体文件中的内容
string strdel="select Photo_path from Photo where Photo_id="+e.Item.Cells[0].Text+"";
SqlCommand cmddel=new SqlCommand(strdel,conn);
SqlDataReader dr=cmddel.ExecuteReader();
// 取得文件名
if(dr.Read())
{
filepath+=dr["Photo_path"].ToString();
}
dr.Close();
//得到服务器上的物理路径
string filewebpath = Server.MapPath("./")+filepath;
// 创建对象
objFI = new System.IO.FileInfo(filewebpath);
string strsqldel="delete from Photo where Photo_id="+e.Item.Cells[0].Text+"";
SqlCommand cmd=new SqlCommand(strsqldel,conn);
try
{
objFI.Delete();
cmd.ExecuteNonQuery();
}
catch
{
Response.Write("有错误了!");
}
conn.Close();
Binddata();
}
}
catch
{
Response.Write("有错误");
}
}
====================
不懂了再说。
1