我正在创建一个结果池,根据查询字符串,页面会加载图像。我有以下对象
<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事件(渲染事件之前的方式)上运行,因此它应该不是问题,并且文件路由有效。但是,浏览器会显示一个空图像的小图标。
我能错过什么?
答案 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"