我正在尝试在ListView控制器的项目模板中打印出包含图像标记的行。我尝试过这种方法却没有成功。
<ItemTemplate>
<tr id="itemTemplate" runat="server">
<td>
<asp:Literal ID="litImg" runat="server" Text='<%= "<img src="" & PathtoImg & "ProcessImage.aspx?Img=" & Eval("Img") & "&PID="Resize"" alt=""ProductID"" />")))) %>' />
</td>
<td>
<asp:Literal ID="litID" runat="server" Text='<%# Eval("Department") %>' />
</td>
</tr>
</ItemTemplate>
第一个eval不起作用(并且是一个集群)第二个简单的行。 它没有错误,但显示
显然这不起作用
<img src="<%= PathtoImg %>ProcessImage.aspx?Img=<%= Eval("Img")%>&PID=Resize" alt="ProductID" />
因为它给出了错误
“Eval(),XPath()和Bind()等数据绑定方法只能是 用于数据绑定控件的上下文中。 “
这是我第一次使用Listview,我对这些模板非常不熟悉。是我想要的 - 在图像标签的src中显示带有服务器变量的数据项 - 可能吗?
答案 0 :(得分:0)
使用代码隐藏功能或runat =“server”HTML控件:
<强>标记:强>
<ItemTemplate>
<tr id="itemTemplate" runat="server">
<td>
<asp:Image id="Image1" runat="server"
ImageUrl="<% GetImageUrl(Eval("Img"), PathToImg))%>"/>
</td>
</tr>
</ItemTemplate>
<强>代码隐藏:强>
protected string GetImageUrl(object img, string pathToImg)
{
//example business logic, change for your needs
//build your url etc....
string imgPathFromDb = (string)img;
return PathToImg + imgPathFromDb;
}
其他选择:
<img runat="server" src="<%# PathtoImg %>ProcessImage.aspx?Img=<%# Eval("Img")%>&PID=Resize" alt="ProductID" />