2013-08-25 49 views
0

我在解決方案資源管理器中有一個'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

使用Server.MapPathDirectory.GetFiles加載圖像名稱如下

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

您可以直接綁定它來控制。

+0

它工作。非常感謝你。 – Ruby

0

那麼,枚舉必須在編譯時準備好,所以沒有。

但是,您可以做的是使用Directory類來獲取文件夾中的所有圖像。

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

將返回文件夾中帶有.jpg擴展名的所有文件的路徑。

More information can be found here