以下代码是取的一个文件夹路径,将页面Datagrid的一个列绑定字段"name",也就是Datagrid这个列的值为"filename",并且超级连接到"url",但如果显示的文件名中有空格的话,Datagrid的filename显示是正确的,但url显示不正确,比如文件夹路径为\\192.168.0.209\folder,如果其中有一个文件名为aa.doc那Datagid这个列的取的值有aa.doc,超级连接到\\192.168.0.209\aa.doc,但如果有一个文件名为
aa bb.doc中间有空格,取的值有aa bb.doc,但超级连接到\\192.168.0.209\aa 空格后面就没有了,当然点击超级连接就找不到文件,这个有空格的应该怎么处理啊,求助中.让超级连接也是\\192.168.0.209\aa bb.doc呢.
public DataTable browserfile(string currentpath)
{
DataTable dt=new DataTable ("file");
DataRow dr;
dt.Columns .Add (new DataColumn ("name",System .Type .GetType ("System.String")));
dt.Columns .Add (new DataColumn ("name1",System .Type .GetType ("System.String")));
try
{
foreach(String filefolder in Directory .GetFileSystemEntries (currentpath))
{
dr=dt.NewRow ();
string[]names=filefolder .Split (new char[]{'\\'} );
string filename=names[names .Length -1]; if(File .Exists (filefolder))
{
try
{
string url=filefolder;
dr[0]="<a href="+url+" target=_blank"+">"+filename+"</a>";//
dr[1]=filename;
dt.Rows .Add (dr);
}
catch(UnauthorizedAccessException ee)
{ throw new UnauthorizedAccessException (ee.Message );
}
}
if(Directory .Exists (filefolder))
{
try
{
string url=filefolder;
dr[0]="<a href="+filefolder+" target=_blank"+">"+filename+"</a>";//
dr[1]=filename;
dt.Rows .Add (dr);
}
catch(UnauthorizedAccessException ee)
{ throw new UnauthorizedAccessException (ee.Message );
}
}
}
}
catch(UnauthorizedAccessException)
{
}
catch(IOException)
{
}
return dt ;
}
aa bb.doc中间有空格,取的值有aa bb.doc,但超级连接到\\192.168.0.209\aa 空格后面就没有了,当然点击超级连接就找不到文件,这个有空格的应该怎么处理啊,求助中.让超级连接也是\\192.168.0.209\aa bb.doc呢.
public DataTable browserfile(string currentpath)
{
DataTable dt=new DataTable ("file");
DataRow dr;
dt.Columns .Add (new DataColumn ("name",System .Type .GetType ("System.String")));
dt.Columns .Add (new DataColumn ("name1",System .Type .GetType ("System.String")));
try
{
foreach(String filefolder in Directory .GetFileSystemEntries (currentpath))
{
dr=dt.NewRow ();
string[]names=filefolder .Split (new char[]{'\\'} );
string filename=names[names .Length -1]; if(File .Exists (filefolder))
{
try
{
string url=filefolder;
dr[0]="<a href="+url+" target=_blank"+">"+filename+"</a>";//
dr[1]=filename;
dt.Rows .Add (dr);
}
catch(UnauthorizedAccessException ee)
{ throw new UnauthorizedAccessException (ee.Message );
}
}
if(Directory .Exists (filefolder))
{
try
{
string url=filefolder;
dr[0]="<a href="+filefolder+" target=_blank"+">"+filename+"</a>";//
dr[1]=filename;
dt.Rows .Add (dr);
}
catch(UnauthorizedAccessException ee)
{ throw new UnauthorizedAccessException (ee.Message );
}
}
}
}
catch(UnauthorizedAccessException)
{
}
catch(IOException)
{
}
return dt ;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货