2013-01-12 64 views
0

我有一个网格图像按钮控制浏览我的客户需要在另一个页面中输入文件夹的路径I存储在数据库中这条道路,我需要,因为客户将图像存储在外接硬盘无法从硬盘传输图像到网站的图像,因为它有一个巨大的大小如何将图片网址设置为绝对物理路径?

我的形象表包含图像的名字时,用户显示网格视图我从数据库和路径从数据库拼接图像的名字我还怎么能做到这一点

  <asp:TemplateField HeaderText="photo"> 
      <ItemTemplate > 


       <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# GetImagePath()+Eval("ImageName") %>' Width="100px" Height="100px" Style="cursor: pointer" OnClientClick = "return LoadDiv(this.src);" /> 
      </ItemTemplate> 
      </asp:TemplateField> 
+0

是什么'GetImagePath()'返回? – codingbiz

+0

不要忘记upvote并将其标记为接受,如果它为你工作... –

回答

2

你需要写下来你的功能是这样

public string GetImage(string name) 
{ 
    string path = Path.Combine(Server.MapPath(("~/Admin/Images/" , name)); 
    return path; 
} 

你也可以做这样的

void GrdVw_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     Image rowImage = (Image) e.Row.FindControl("currentDocFile"); 
     rowImage.ImageUrl = whatever; 
    } 
} 
+0

谢谢4重播,但我问我可以设置ImageUrl为 ImageUrl =“D:/images/1.jpg” – user1637402

+1

@ user1637402 - 不可能。 。你需要把图像放在虚拟目录中..你不能直接从硬盘驱动器 –

+0

当你使用Server.MapPath方法时,Pranay不应该使用Combine方法..? – MethodMan

0

我建议通过图像名称作为参数传递给GetImagePath 试试这个:

public string GetImagePath(string imageName) 
{ 
    return VirtualPathUtility.ToAbsolute("~/images/" + imageName); 
} 

VirtualPathUtility.ToAbsolute(字符串)转换一个到应用程序绝对路径的虚拟路径。 所以你会得到像“/images/yourimage.jpg”。

相关问题