Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在源字符串位于数据库中的web表单中动态添加任意数量的图像?_C#_Javascript_Asp.net - Fatal编程技术网

C# 如何在源字符串位于数据库中的web表单中动态添加任意数量的图像?

C# 如何在源字符串位于数据库中的web表单中动态添加任意数量的图像?,c#,javascript,asp.net,C#,Javascript,Asp.net,嗨,我正在尝试设置一个页面,让用户查看特定汽车的详细信息和与汽车相关的照片。到目前为止,我使用sql表保存图像的路径,然后将每个路径作为“ImageUrl”属性分配给我手动创建的img标记 我的问题是:是否有一种方法可以动态创建img标记,并根据表中有多少相关实体分配相应的“ImageUrl”,因为图片的数量会发生变化?如果这是不可能的,谁能提供任何替代方案 我在web表单的其他部分使用的脚本类型有C#、JavaScript和sqlcommand。我在这方面是相当新的,我的搜索只显示了如何在后面

嗨,我正在尝试设置一个页面,让用户查看特定汽车的详细信息和与汽车相关的照片。到目前为止,我使用sql表保存图像的路径,然后将每个路径作为“ImageUrl”属性分配给我手动创建的img标记

我的问题是:是否有一种方法可以动态创建img标记,并根据表中有多少相关实体分配相应的“ImageUrl”,因为图片的数量会发生变化?如果这是不可能的,谁能提供任何替代方案

我在web表单的其他部分使用的脚本类型有C#、JavaScript和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.......
List文件夹=新建列表();
while(readerPhoto.Read())
{
folder.Add(readerPhoto[“folder”].ToString());
}
开关(folder.Count)
{ 
案例1:
Image1.ImageUrl=文件夹[0];
打破
案例2:
Image1.ImageUrl=文件夹[0];
Image2.ImageUrl=文件夹[1];
//所以第四。。。。。。。
08/07/12.新的尝试代码(动态创建图像,但未正确分配“src”属性):

.aspx
Html输出断开的图像图标和脚本,如下所示:

   <img id="MainContent_ListView1_imgListImage_0" src="<%%20Eval("Folder")%20%>" style="width: 80px; height: 80px; ">
“style=”宽度:80px;高度:80px;“>

编辑:不知何故,我忽略了您使用的是sql表而不是文件。 编辑2:修复了绑定错误

基本上,您根本不需要任何代码,您需要SqlDataSource和ListView,并将第二个绑定到第一个

.aspx

<asp:SqlDataSource id="SqlDataSource1"
      runat="server"
      ConnectionString="<%$ ConnectionStrings:MyConnString%>"
      SelectCommand="SELECT * FROM Table">
  </asp:SqlDataSource>

<asp:ListView ID="lvImages" runat="server" DataSource="SqlDataSource1">
   <ItemTemplate>
       <asp:Image ID="imgListImage" runat="server" ImageUrl='<%# Eval("Folder") %>' />
   </ItemTemplate>
</asp:ListView>
.aspx

您需要使用数据绑定标记语法(注意
):



感谢您的快速回复。我尝试了您的代码,但“.ReadAll()有点问题"方法。它未被识别,抛出一个错误,指出我需要using指令或程序集引用。intelliSense通常会帮助我解决此问题,我也尝试查找它,但没有成功。我有以下using语句:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;使用System.Web.UI.WebControl;使用System.Configuration;使用System.Data.SqlClient;使用System.Data;代码未正确使用Eval方法。Html将其呈现为;“>请使用您迄今为止提出的代码更新您的问题。@jrummell我确信我键入了它。谢谢
.aspx

<asp:SqlDataSource id="SqlDataSource1"
      runat="server"
      ConnectionString="<%$ ConnectionStrings:MyConnString%>"
      SelectCommand="SELECT * FROM Table">
  </asp:SqlDataSource>

<asp:ListView ID="lvImages" runat="server" DataSource="SqlDataSource1">
   <ItemTemplate>
       <asp:Image ID="imgListImage" runat="server" ImageUrl='<%# Eval("Folder") %>' />
   </ItemTemplate>
</asp:ListView>
<ItemTemplate>
    <asp:Image ID="imgListImage" runat="server" ImageUrl='<%# Eval("Folder") %>' />
</ItemTemplate>