按钮单击时从图像文件夹更改图像

时间:2017-04-29 12:09:03

标签: c# jquery asp.net image visual-studio

我想在点击按钮时更改图像。基本上我会让用户上传一个图像到文件夹,当点击一个按钮时,它将转到文件夹中的下一个图像,当前一个按钮被点击它将返回一个图像我做了类似于switch语句的东西,但是我知道文件夹中有什么图像,这样做很容易。我的代码如下:

  protected void Button2_Click(object sender, EventArgs e)
        {
            switch (Image1.ImageUrl)
            {
                case "image1":
                    Image1.ImageUrl = "image2";
                    break;
                case "image2":
                    Image1.ImageUrl = "image3";
                    break;:
                default:
                    break;
            }
}

这很有效,因为我确切知道文件夹中的图像。我试图让Idk的代码可以将哪些图像上传到文件夹,但是也希望通过点击按钮来浏览这些图像。

1 个答案:

答案 0 :(得分:0)

您可以使用Directory.GetFiles()方法获取图像目录中所有文件名的数组。我们称之为myImageArray

当您拥有当前显示的图像的文件名时,Array.IndexOf()将告诉您该文件在阵列中的位置。我们称之为n。现在myImageArray[n + 1]将为您提供下一个文件的名称。

我会留给您,以确保您在到达最后一个文件名时不会尝试查找其他文件名。

正如在Directory.GetFiles()的说明中所述,它不能保证文件名将以任何特定顺序出现。因此,在进行调查之前,您需要使用Array.Sort()。如果您的目录包含非图像的其他文件,则可以使用过滤器作为第二个参数。例如,如果您只想循环浏览.jpg个文件,请执行以下操作:

var myImageArray = Directory.GetFiles("/my/path", "*.jpg");
Array.Sort(myImageArray);
int currentIndex = Array.IndexOf(myImageArray, Image1.ImageUrl);
// etc