0

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

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";
4

2 回答 2

2

使用Server.MapPathwithDirectory.GetFiles加载图像名称,如下所示

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

您可以直接将其绑定到控件。

于 2013-08-25T09:04:21.517 回答
0

好吧,枚举必须在编译时准备好,所以不。

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

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

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

更多信息可以在这里找到

于 2013-08-25T08:57:24.983 回答