您好我正在尝试为用户设置一个页面,以查看特定汽车的详细信息和与汽车相关的照片。到目前为止,我使用 sql 表来保存图像的路径,然后将每个路径作为“ImageUrl”属性分配给我手动创建的 img 标签。
我的问题是:有没有办法动态创建 img 标签并根据表中有多少相关实体相应地分配“ImageUrl”,因为图片的数量会改变?如果这是不可能的,任何人都可以提供任何替代方案吗?
我在 Web 表单的其他部分使用的脚本类型是 C#、javacript、sqlcommand。我对此很陌生,我的搜索只显示了如何在后面的代码中分配 ImageUrl,这就是我所做的。提前谢谢你。
这就是我的 img 标签:
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/Default.png" />
<asp:Image ID="Image2" runat="server" ImageUrl="~/Images/Default.png" />
这是背后的代码:
List<string> folder = new List<string>();
while (readerPhoto.Read())
{
folder.Add(readerPhoto["Folder"].ToString());
}
switch (folder.Count)
{
case 1:
Image1.ImageUrl = folder[0];
break;
case 2:
Image1.ImageUrl = folder[0];
Image2.ImageUrl = folder[1];
//and so fourth.......
2012 年 8 月 7 日。新的尝试代码(图像是动态创建的,但“src”属性未正确分配):
.aspx
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CarsConnectionString %>"
SelectCommand="SELECT Folder FROM Cars INNER JOIN Photos ON Cars.SN = Photos.Cars_SN WHERE (Cars.SN = @SN)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="SN" Name="SN" QueryStringField="SN" />
</SelectParameters>
</asp:SqlDataSource>
<asp:ListView ID="lvPhotos" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<asp:Image ID="imgListImage" runat="server" ImageUrl='<% Eval("Folder") %>' />
</ItemTemplate>
</asp:ListView>
Html 输出一个损坏的图像图标和脚本:
<img id="MainContent_ListView1_imgListImage_0" src="<%%20Eval("Folder")%20%>" style="width: 80px; height: 80px; ">