创建存储图像的枚举列表

时间:2013-08-25 08:55:03

标签: c# asp.net

我在解决方案资源管理器中有一个'Images'文件夹。我可以创建所有图像(及其路径)的枚举列表。我想将该列表添加到下拉列表中。现在我明确地这样做了:

private enum bgImages
    {
        BlueArt,GreenArt,StripeArt
    }
protected void Page_Load(object sender, EventArgs e)
    {
      string[] Backgrounds = Enum.GetNames(typeof(bgImages));
      ddlBackground.DataSource = Backgrounds;
      ddlBackground.DataBind();
    }

 //..........
 pnlImage.BackImageUrl="~/Images/"+ddlBackground.SelectedItem.Text+".jpg";

2 个答案:

答案 0 :(得分:2)

使用Server.MapPathDirectory.GetFiles一起加载图片名称,如下所示

ddlBackground.DataSource = Directory.GetFiles(Server.MapPath("~/Images"), "*.jpg")
                 .Select(Path.GetFileNameWithoutExtension).ToList();

你可以直接将它绑定到控件。

答案 1 :(得分:0)

嗯,枚举必须在编译时准备好,所以没有。

但是,您可以使用Directory类获取文件夹中的所有图像。

Directory.GetFiles("[MyImagesPath]","*.jpg");

将返回文件夹中包含.jpg扩展名的所有文件的路径。

More information can be found here