无法在后面的代码上设置图像

时间:2013-01-22 00:30:51

标签: c# asp.net

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

<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事件(渲染事件之前的方式)上运行,因此它应该不是问题,并且文件路由有效。但是,浏览器会显示一个空图像的小图标。

我能错过什么?

2 个答案:

答案 0 :(得分:0)

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

如果您获取渲染路径(来自“视图源”)并将其直接粘贴到资源管理器中会发生什么?我已经看到IE9发出一条消息说它“阻止内容”,我必须点击“允许内容”才能使用。也许那就是发生了什么?

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

答案 1 :(得分:0)

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

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