在asp.net 3.5中使用图像控件显示多个图像

时间:2011-05-09 10:15:20

标签: c# asp.net

我想显示给定目录中的所有图像。为此,我已经给出了图像控件来显示图像,但我想根据该目录中的图像自动显示带有该URL的图像控件。假设在我的目录中存在5个图像,那么应该在我的按钮点击事件中显示5个图像控件。 我在button_click事件中编写了代码,只显示给定目录中的两个图像,如下所示:

protected void btncompare_Click(object sender, EventArgs e)
{
    Bitmap searchImage;
    searchImage = new Bitmap(@"D:\kc\ImageCompare\Images\img579.jpg");
    string dir = "D:\\kc\\ImageCompare\\Images";

    DirectoryInfo dir1 = new DirectoryInfo(dir);
    FileInfo[] files = null;

    files = dir1.GetFiles("*.jpg");

    double sim;
    foreach (FileInfo f in files)
    {
        sim = Math.Round(GetDifferentPercentageSneller(searchImage, new Bitmap(f.FullName)), 3);
        if (sim >= 0.95)
        {


            string imgPath = "Images/" + files[0];
            string imgPath1 = "Images/" + files[1];
            Image1.ImageUrl = "~/" + imgPath;
            Image2.ImageUrl = "~/" + imgPath1;
            Response.Write("Perfect match with Percentage" + " " + sim + " " + f);
            Response.Write("</br>");

        }
        else
        {

            Response.Write("Not matched" + sim);
            Response.Write("</br>");

        }

    }

}

1 个答案:

答案 0 :(得分:0)

好像你正试图在这里把一个方形钉子装进一个圆孔里。 Image控件旨在显示单个图像。

如果要显示多个图像,请使用多个图像控件。我怀疑你不这样做的原因是因为你不知道你需要显示多少张图片。

如果我遇到同样的问题,我会将图像目录的内容转换为可以绑定到Repeater的内容。每个ItemTemplate都包含自己的Image控件,允许您根据需要显示任意数量的图像,而无需使用hackery。