首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

【再请问】为何删除文件后自动退出系统

2013-07-08 
【再请教】为何删除文件后自动退出系统?某系统,登录后用Session保存登录信息创建一个新的表单,上传附件后用G

【再请教】为何删除文件后自动退出系统?
某系统,登录后用Session保存登录信息

创建一个新的表单,上传附件后用GridView显示出来

发现上传错误后,删除某个文件,使用了GridView的RowDeleting事件:
1、先删除此文件
2、再删除此文件所在的目录
3、接着删除保存在数据库中的文件信息

最后问题出现:添加多个文件没有问题,删除1个文件也没有问题,当删除第二个文件或删除后又准备添加附件时,自动清空了Session的信息。

请教,何解???


[解决办法]
莫非是 Response.Write("<script>alert('删除操作失败')</script>"); 这个问题?

用这种方式试试?
ClientScript.RegisterClientScriptBlock
[解决办法]

引用:
以下是GridView的RowDeleting事件代码


protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        //删除文件及空文件夹
        string sPath = Server.MapPath("..") + "/upload/" + DateTime.Now.ToString("yyyy-MM").Replace("-", "") + "/" + GridView1.Rows[e.RowIndex].Cells[0].Text.ToString()+"/";
       
        File.Delete(sPath + GridView1.Rows[e.RowIndex].Cells[3].Text.ToString()); //删除文件
        //判断目录是否为空,是则删除!
        int Fi = new DirectoryInfo(sPath).GetFiles().Count();
        if (Fi < 2)
        {
            System.IO.Directory.Delete(sPath, true);
        }
        //删除数据库资料
        string delsql = "delete from AttachmentTab where Tnum='" + Request["DocID"].ToString() + "' and ID='" + GridView1.Rows[e.RowIndex].Cells[0].Text.ToString() + "'";
        int revalue = db.Sqlex(delsql);
        if (revalue == 0)
        { Response.Write("<script>alert('删除操作失败')</script>"); }


        //Label3.Text = delsql.ToString();
        /*
        string sqlstr = "select * from AttachmentTab where Tnum="+Request["DocID"].ToString();
        DataTable dt = db.reDt(sqlstr);
        GridView1.DataSource = dt;
        GridView1.DataBind();
        dt.Clear();
        */
    }


删除之前判断下:

if(System.IO.Directory.Exist(sPath)
{
//删除
}
)

[解决办法]
try
catch 

热点排行