2012-11-13 139 views
0

我想从文件夹中检索ASP.NET页面中的图像。图像是JPEG格式的,并用ID标记,例如, 1,2,3等。我以编程方式从Web应用程序中检索这些ID并将信息保存在标签中。从文件夹中检索ASP.NET图像

在ASP.NET源页面我试图用,

Image ID="Image1" runat="server" ImageUrl="<% "Figures/" & Me.lblid.Text & ".jpg"%>" 

,但它不工作。

+0

是Javascript/jQuery允许在你的项目中? – Praveen

+0

是的,可以使用Javascript。然而,图像的ID被填充到ASP.NET变量中,这可能需要一些变量传递JS/ASP.NET,反之亦然。 – Frida

回答

1

源代码无法以此方式在网页的网页侧附加到其他控件。为了实现这一点,您需要在后面的代码中执行此操作,在另一部分完成后的某个时间点执行此操作。我假设你正在使用某种数据绑定来实现这一点。一个简单的方法来做到这一点是使用了Page_PreRender事件给出任何具体的图片:

Protected Sub Page_PreRender(ByVal sender as Object, ByVal e as EventArgs) 

    Me.Image1.ImageUrl = "~/Figures/" & lblid.Text & ".jpg" 

End Sub 

注:新增〜url中的URL进行动态分析所推荐的@Amiram授予Korach

+0

'“/ Figures /”'总是会被浏览器翻译为'http:// [host]/Figures',这不一定是正确的,例如,如果你的站点在'http:// [host]/[网站名称] /'。你必须使用“〜”符号。 –

+0

@AmiramKorach:可以理解,但我对这个问题的理解是,路径本身不是OP的问题,从标签注入标识就是混淆点。其他答案似乎解决了这个问题,但没有考虑到html源文件中指定的'lblid.Text'字段仅在'Page_Load'上有效的概念。任何后续的数据绑定或事件都会在空白ImageUrl中更改该值和结果(很可能)。 –

+0

是的。在prerender中这样做听起来更好。 –

0

您需要在表达式的开始处添加“=”,如果“数据”位于根文件夹中,则需要使用“〜”。

<asp:Image ID="Image1" runat="server" 
    ImageUrl="<%= "~/Figures/" & Me.lblid.Text & ".jpg" %>" /> 
相关问题