使用从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") %>'
那样做。但显然这不起作用。
该怎么做?
答案 0 :(得分:2)
在此表单中,Eval
接受您需要检索的列的名称,以及可选的结果字符串格式。如果您需要从当前数据项中获取两个字段 - 您需要两次Eval
次调用。但是在您的情况下,一列Picture
似乎就足够了:
ImageUrl='<%# string.Format("http://abc.storage/{0}", Eval("Picture")) %>'