1

我正在创建一个结果池,根据查询字符串,页面会在其中加载图像。我有以下对象

<li class="labelForm"><asp:Image ID="imgImagen" runat="server" /></li>

在 page_load 事件上我得到:

string path = res == "OK" ? (Server.MapPath("~/Images/Results/OK/")) : (Server.MapPath("~/Images/Results/NO/"));

path = App_Code.FilePicker.FilePicker(path);
imgImagen.ImageUrl = path;

图像路由是有效的。我在浏览器和资源管理器上测试过

D:\Proyectos Web Forms\MyPage\MyPage\Images\Results\OK\thumbsUp2.jpg

由于代码在 Page_Load 事件上运行(在渲染事件之前),所以应该不是问题,并且文件路径是有效的。但是,浏览器会显示一个空图像的小图标。

我会错过什么?

4

2 回答 2

0

当我将本地文件添加到这样的 url 时,它通常会自动将其转换为:从:C:/Users/Carlos/Desktop/options.gif 到 file:///C:/Users/Carlos/Desktop/options .gif

如果您采用渲染路径(来自“查看源”)并将其直接粘贴到资源管理器中会发生什么?我已经看到 IE9 发出一条消息说它“阻止内容”,我必须单击“允许内容”才能工作。也许这就是正在发生的事情?

---- * 编辑 * 哦,我还注意到您没有指定文件名,例如 helloworld.gif :)

于 2013-01-22T00:37:47.663 回答
0

我使用的是绝对路线,而不是相对路线。而不是这个:
"D:\\Proyectos Web Forms\\MyPage\\MyPage\\Images\\Results\\OK\\thumbsUp2.jpg"

应该是这样的:
"~/Images/Results/OK/thumbsUp2.jpg"

于 2013-01-23T00:22:56.083 回答