CSharp - 使用服务器标记的ASP.NET 动态图像 url

  显示原文与译文双语对照的内容

正在尝试使用下面的代码设置 ImageUrl 。


<asp:Image ID="brokenImage" runat="server" AlternateText="Coded path" ImageUrl='~/headerImages/<%= getImage(Request.QueryString["Id"]) %>'/>

消除开始标记并在显式写入的图像标记旁边查看浏览器输出会产生以下结果。


asp:Image ID="brokenImage" runat="server" AlternateText="Coded path" ImageUrl='~/headerImages/images (3).jpg'/>

asp:Image ID="workingImage" runat="server" AlternateText="Explicit Path" ImageUrl="~/headerImages/images (3).jpg"/> 

为什么第一个图像不显示但第二个图像是? 如何将参数传递给后面的代码并设置 url?

时间: 作者:

如果要查找正确的方法,则标记应该是:


<asp:Image ID="brokenImage" runat="server" AlternateText="Coded path" ImageUrl='<%#"~/headerImages/" + getImage(Request.QueryString["Id"]) %>'/>

在代码中,你应该拥有:


brokenImage.DataBind();

解释:<%= %> 直接输出到响应流。 当你绑定控件时,<%# %> 将计算代码。 这里有很好和简短的解释

作者:
...