2012-08-24 77 views
1

我有一個下拉菜單,它從本地機器讀入驅動器。還有另一個DDL我想鏈接到驅動器DDL。因此,無論選擇哪個值,我都想將其傳遞給第二個DDL以顯示該驅動器上的目錄,儘管我遇到了一些麻煩。一個換行常數不斷彈出。有任何想法嗎?由於將選定的值從一個下拉列表傳遞到另一個下拉列表

//get value from first Drive drop down 
    var driveValue = ddl_listDrives.SelectedValue.ToString(); 

    //pass it in directories to be called when btn is clicked 
    var directorys = Directory.GetDirectories("@" + driveValue + ":\"); 
+0

' 「@」 + driveValue + 「:\」'看起來錯了...你確定它不應該是'driveValue + @「:\」'? – freefaller

+0

當我硬它,它需要它作爲GetDirectory(@「C:\);所以我想一個字符串可以構建來處理該問題 – jpavlov

回答

0

我相信下面的行是不正確的,因爲":\"意味着另一個字符將\後提供給形成控制字符...

var directorys = Directory.GetDirectories("@" + driveValue + ":\"); 

爲了有"c:\dir\file.txt"在C#你需要"c:\\dir\\file.txt"或(如你在評論中提到的)@"c:\dir\file.txt"這被稱爲「引用字符串文字」(see here for more details

W帽子,我相信你應該是以下行的ONE ...

var directorys = Directory.GetDirectories(driveValue + @":\"); 
var directorys = Directory.GetDirectories(driveValue + ":\\"); 
+0

都返回給定的路徑不受支持 – jpavlov

+0

@jpavlov,你檢查'ddl_listDrives'返回的值正確地符合那個格式?換句話說,你確定它只是返回「C」或「D」例如? – freefaller

+0

謝謝,我實際上已經返回了:\ part。分析! – jpavlov

相關問題