我有一个webforms站点,用户上传文件,文件名等被保存到数据库。这些文件然后显示在数据列表中。我试图让这个datalist显示不同的图像(图标)来表示文件类型。从服务器端动态设置图像控制图像asp.NET
这是我的代码背后。 fm.getIcon是一个自定义函数,它将服务器上的完整文件路径返回到表示文件类型的合适图像。
当我调试的代码,我可以确认图像并在imgFile存在路径
Private Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound
Dim docName As Label = e.Item.FindControl("fileNameLabel")
Dim docImage As Image = e.Item.FindControl("image1")
Dim imgFile As String = fm.getIcon(My.Computer.FileSystem.GetFileInfo(docName.Text).Extension)
docImage.ImageUrl = imgFile
End Sub
我的问题是图像不加载。如果我将imgFile替换为图像的硬编码路径,它工作正常。
我在想什么?
我使用getIcon函数中的server.mappath返回正确的URL。 – 2011-04-15 14:26:53
您不需要getIcon方法中的Server.MapPath。我编辑了答案。 – Win 2011-04-15 14:57:39