用file.delete绝对路径和相对路径纠结的问题

cx1054980531 2009-09-01 10:38:19
string label = ((Label)oDataGridItem.FindControl("Label1")).Text.Trim();(我获得的文件名)
//选中
if (chkExport.Checked)
{
string path = "~/pages/17167/SystemFile/" + label;
File.Delete(path);

number++;

}

爆这个错误
未能找到路径“C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\~\pages\17167\SystemFile\8.28.dmp”的一部分。
...全文
293 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用Server.MapPath(filename)获得路径,
然后再用2楼的方法判断路径是否存在,再予以删除。。
chenhaoying 2009-09-01
  • 打赏
  • 举报
回复
不要用~/;这个只有服务端控件才解析这个的。用../退出直接写相对路径。
LutzMark 2009-09-01
  • 打赏
  • 举报
回复
试试用FileInfo类的实例属性
比如
FileInfo f=new FileInfo(path);
File.Delete(f.FullName)

txg92 2009-09-01
  • 打赏
  • 举报
回复
1.路径存在才能删除,否则会报错
 //如果路径存在,才删除
if (File.Exists(path))
{
try
{ File.Delete(Path);}
catch
{ //可能删除失败,提示}
}

2.C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\~\pages\17167\SystemFile\8.28.dmp
这个路径服务器上肯定是没有的,红色标记那个地方错了
  • 打赏
  • 举报
回复
Server.MapPath("~/pages/17167/SystemFile/")
flyerwing 2009-09-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hzzasdf 的回复:]
Server.MapPath("~/pages/17167/SystemFile/")
[/Quote]
转一下就好了!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧