2011-05-02 104 views
4

問:DropDownList selectedvalue and tables

嗨,我有一個dropdownlist,我得到兩個錯誤。

錯誤#1:我的要求是從下拉列表中選擇會議名稱,將其保存爲一個字符串,然後再使用該字符串。我想從數據庫表中獲取字段值(它給出了存儲文件的路徑)。

代碼:

string selected = DropDownList1.SelectedValue.ToString(); 

var query = from meet in db.Meets 
      where meet.Summary = selected 
      select meet.Doc_Path; 

我得到一個錯誤的 「where meet.Summary=selected」,它說

「不能隱式轉換類型的字符串 爲bool」

錯誤#2:我希望使用通過查詢得到的Doc_Path值。我不確定語法,因此當我嘗試它時發生錯誤。

代碼:

string[] dirs = Directory.GetDirectories(query); 

請幫助。

回答

2

錯誤#1 -我認爲你需要==而不是隻=

string selected = DropDownList1.SelectedValue.ToString(); 

var query = from meet in db.Meets 
      where meet.Summary == selected 
      select meet.Doc_Path; 

錯誤#2 -您可能需要用戶Server.MapPath

String FilePath; 
FilePath = Server.MapPath(query); 

,或者結合他們

string selected = DropDownList1.SelectedValue.ToString(); 

var query = from meet in db.Meets 
      where meet.Summary == selected 
      select Server.MapPath(meet.Doc_Path); 

string[] dirs = Directory.GetDirectories(query); 
+0

嘿,謝謝。第一個錯誤得到解決,但它沒有采取「string [] dirs = Directory.GetDirectories(query);」。編譯器期待GetDirectories的字符串類型參數。即使我做query.ToString()仍然不工作 – 2011-05-02 03:20:49

+0

其採取query.ToString()作爲一個SQL查詢,因爲我不想這...我希望查詢的結果傳遞。 – 2011-05-02 03:23:03

0

錯誤#1:

正如之前所說,使比較時,你應該使用==,而不是=

錯誤#2:

爲什麼你使用Directory.GetDirectories(query);

以前的方法來獲取指定目錄下的子目錄(包括其路徑)的名稱。

here

我認爲你不需要這種方法,只需使用:

string selected = DropDownList1.SelectedValue.ToString(); 

var query = from meet in db.Meets 
      where meet.Summary == selected 
      select meet.Doc_Path; 

string dirPath = System.Web.HttpContext.Current.Server.MapPath("~") + query.ToString(); 

確保meet.Doc_Path值不是絕對路徑,只存儲相對路徑。

相關問題