日期:2014-05-17  浏览次数:20562 次

.NET数据库中查找文件夹路径
for (int i = 0; i < dt.Rows.Count; i++)
  {
  TempStr += "<a href=\""+dt.Rows[i][0].ToString() + "/List.aspx?id=" + dt.Rows[i][2].ToString() + "\">" + dt.Rows[i][1].ToString() + "</a>" + "" + "&nbsp;&nbsp;";
  }

dt.Rows[i][0].ToString() 就是获取的文件夹名称,

点击导航栏上的名称,跳出的页面时对的,如图:


但是在此页面中继续点击其它导航上的标题时,就会出现
如图:

错误如图:

希望懂得人给点建议,改怎么修改



------解决方案--------------------
路径拼接错了,多了一个inforexchange
------解决方案--------------------
dt.Rows[i][0].ToString()
=>
dt.Rows[i][0].ToString().ToLower().Replace("inforexchange", "")
------解决方案--------------------
你的代码当然不行。
------解决方案--------------------
你要把多余的inforexchange去掉。你的代码想replace什么?
------解决方案--------------------
建议你看一下你的 DT数据集里的数据都包含什么 每一行 列的内容可以单独的查一下 然后再拼连接字符串 现在是点击后路径错误 那就是你的字符串有问题 你看看你的dt.Rows[i][0].ToString()获取的对么 是不是你想要的
------解决方案--------------------
TempStr += "<a href=\""+ Page.ResolveUrl("~") +dt.Rows[i][0].ToString() + "/List.aspx?id=" + dt.Rows[i][2].ToString() + "\">" + dt.Rows[i][1].ToString() + "</a>" + "" + "&nbsp;&nbsp;";

改成从绝对路径开始
------解决方案--------------------
dt.Rows[i][0].ToString() 就是获取的文件夹名称?

你这个文件夹名称有用吗?没有用你加这个干吗?
‘直接

TempStr += "<a href=\""+ Page.ResolveUrl("~") + "List.aspx?id=" + dt.Rows[i][2].ToString() + "\">" + dt.Rows[i][1].ToString() + "</a>" + "" + "&nbsp;&nbsp;";

不就可以了?
------解决方案--------------------
那你加
 TempStr += "<a href=\"/"+dt.Rows[i][0].ToString() + "/List.aspx?id=" + dt.Rows[i][2].ToString() + "\">" + dt.Rows[i][1].ToString() + "</a>" + "" + "&nbsp;&nbsp;";

就可以
------解决方案--------------------
探讨

引用:
dt.Rows[i][0].ToString() 就是获取的文件夹名称?

你这个文件夹名称有用吗?没有用你加这个干吗?
‘直接

TempStr += "<a href=\""+ Page.ResolveUrl("~") + "List.aspx?id=" + dt.Rows[i][2].ToString() + "\">" + dt.Rows[i][1……