图像URL使用带有两个参数的Eval

时间:2014-07-22 10:26:11

标签: asp.net eval imageurl

使用从DataSource1绑定的ImageUrl进行图像控制。

<asp:Image ID="image" runat="server" ImageUrl='<%# Eval("CandidateId", "Picture") %>' />

下面是DataSource1,带有Picture字段。但是数据库中的Picture字段没有完整路径。它保留了它的一部分:pictures/1250/candidatepicture.jpg。完整路径就像:http://abc.storage/pictures/1250/candidatepicture.jpg

<asp:SqlDataSource ID="DataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
 ProviderName="System.Data.SqlClient" SelectCommand="SELECT CandidateId, Picture, Name FROM [Candidates] WHERE ([CandidateId] = @CandidateId)">
 <SelectParameters>
      <asp:Parameter Name="CandidateId" Type="Int32" />
 </SelectParameters>

因此,当我使用Eval时,我需要像ImageUrl='<%# Eval("CandidateId", "http://abc.storage/" + "Picture") %>'那样做。但显然这不起作用。

该怎么做?

1 个答案:

答案 0 :(得分:2)

在此表单中,Eval接受您需要检索的列的名称,以及可选的结果字符串格式。如果您需要从当前数据项中获取两个字段 - 您需要两次Eval次调用。但是在您的情况下,一列Picture似乎就足够了:

ImageUrl='<%# string.Format("http://abc.storage/{0}", Eval("Picture")) %>'