从sqldatareader对象的第一个中删除“〜/”

时间:2014-09-26 18:42:58

标签: asp.net database url sqldatareader

我使用FileUpload1.SaveAs(Server.MapPath(path)保存图片的网址并初始化路径变量:

path = "~/Persian/slideshow/pictures/" + FileUpload1.FileName;

我必须添加'〜/',因为要插入解决方案,所以插入数据库我需要这样做。我的问题是,当我想从数据库中读取这个地图路径并创建图像标记时,我无法从对象中删除“〜/”部分。这是我的代码:

dataReader = command.ExecuteReader();
imageList = "";
while (dataReader.Read())
{
    url = dataReader["PhotoUrl"].ToString();
    url = url.Substring(2, url.Length - 2);
    imageList += "{ image: '" + url + "', title: '" + dataReader["PhotoTitle"] + "', thumb: '" + dataReader["PhotoUrl"] + "', url: '" + dataReader["PhotoUrl"] + "' },";
}

这里的问题是我无法使用字符串相关函数来纠正路径。 我能做什么 ?

非常感谢你;)

2 个答案:

答案 0 :(得分:0)

所以上面的代码完全正确并且有效。我的问题是我从url的开头删除了/。

path = "~/Persian/slideshow/pictures/" + FileUpload1.FileName;
dataReader = command.ExecuteReader();
            imageList = "";
            while (dataReader.Read())
            {
                url = dataReader["PhotoUrl"].ToString();
                url = url.Substring(1);
                imageList += "{ image: '" + url + "', title: '" + dataReader["PhotoTitle"] + "', thumb: '" + dataReader["PhotoUrl"] + "', url: '" + dataReader["PhotoUrl"] + "' },";
            }

答案 1 :(得分:0)

如果您在DB中保存路径为"〜/ Persian / slideshow / pictures / aa.gif"你想拥有" /Persian/slideshow/pictures/aa.gif"在你的代码中,你可以使用.ToString()和substring来解决这个问题。

  string dbpath = "~/Persian/slideshow/pictures/aa.gif" ; // actual dbpath will be DataReaderObj["path"].ToString();
  string newpath = dbpath.Substring(1, dbpath.Length - 1); // this will remove ~ only
  string newpath = dbpath.Substring(2, dbpath.Length - 2); // to remove ~/

在循环中使用上面的行,以获取所需的文件路径。