Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# asp.net中图像的Foreach循环_C#_Asp.net_Sql Server_Loops - Fatal编程技术网

C# asp.net中图像的Foreach循环

C# asp.net中图像的Foreach循环,c#,asp.net,sql-server,loops,C#,Asp.net,Sql Server,Loops,我是Asp.Net&C的新手。我正在开发一个博客。我能够将图像保存在文件夹中,并将图像路径保存在SQL Server中。现在我想从路径存储在SQLServer表中的文件夹中检索图像 我试试这个: ASPX标记: 但是上面的代码只显示一个图像 我想要的:我想要使用foreach循环或类似循环的东西来显示所有图像,但我不知道如何做到这一点 感谢您的帮助。首先,您应该使用asp.repeater: <asp:Repeater ID="RptImages" runat="server">

我是Asp.Net&C的新手。我正在开发一个博客。我能够将图像保存在文件夹中,并将图像路径保存在SQL Server中。现在我想从路径存储在SQLServer表中的文件夹中检索图像

我试试这个:

ASPX标记:

但是上面的代码只显示一个图像

我想要的:我想要使用foreach循环或类似循环的东西来显示所有图像,但我不知道如何做到这一点


感谢您的帮助。

首先,您应该使用asp.repeater:

<asp:Repeater ID="RptImages" runat="server">
    <ItemTemplate>
        <asp:Image ID="Img" runat="server" ImageUrl='<%# Container.DataItem %>'/>
    </ItemTemplate>
</asp:Repeater>
其他:


您可以尝试这样的方法:为此,您需要一个转发器,这样您可以在循环无效时重复图像n次,因为您每次循环都有一个图像控件,您为同一个控件绑定不同的图像,最后一项将在循环结束时绑定图像控件。谢谢@arturas,添加代码将解决此问题。你能解释一下发生了什么事吗?这样我就能正确地理解了。很简单。在asp.net中,您可以在这些情况下使用asp.repeater,它必须与某些数据源绑定。我们创建了图像url的列表,然后将其绑定。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Configuration;

namespace Admin_Panel
{
    public partial class Admin : System.Web.UI.Page
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["stuconnection"].ConnectionString);
        protected void Page_Load(object sender, EventArgs e)
        {
            string qry = "SELECT * FROM upload";

            SqlCommand cmd = new SqlCommand(qry, con);
            SqlDataReader dr;

            con.Open();
            dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                var filep = dr.GetString(1);
                Image1.ImageUrl ="~/Images/" + filep;
            }
            con.Close();
        }
    }
}
<asp:Repeater ID="RptImages" runat="server">
    <ItemTemplate>
        <asp:Image ID="Img" runat="server" ImageUrl='<%# Container.DataItem %>'/>
    </ItemTemplate>
</asp:Repeater>
public partial class Admin : System.Web.UI.Page
{
    List<String> images = new List();      
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["stuconnection"].ConnectionString);

    protected void Page_Load(object sender, EventArgs e)
    {
        string qry = "SELECT * FROM upload";
        SqlCommand cmd = new SqlCommand(qry, con);
        SqlDataReader dr;
        con.Open();
        dr = cmd.ExecuteReader();

        while (dr.Read())
        {
           var filep = dr.GetString(1);
           images.add(String.Concat("~/Images/", filep);
        }
        con.Close();
        RptImages.DataSource = images;
        RptImages.DataBind();
    }
}