2012-10-03 21 views
0

我有一個存儲過程,返回一堆FileIds,名稱等。我有一個DropDownList,我已禁用,我將FileID放在DropDownList,以便它將是下拉列表中唯一的值。但是我一直在標題中遇到這個錯誤。 這是我有:'ddlCaseFiles'有一個無效的SelectedValue,因爲它不存在於項目列表中。參數名稱:值

try 
    { 
     conn.Open(); 
     var reader = cmd.ExecuteReader(); 
     if (reader.HasRows) 
     { 
      reader.Read(); 
      ddlCaseFiles.SelectedValue = reader["FileID"].ToString();//ddl never gets the fileID assigned. 
      ddlCaseFiles.Enabled = false; 
      txtTimeTrackerDate.Value = reader["TBDate"].ToString(); 

     } 
    } 
+0

當您綁定下拉菜單時,您是否指定了下拉菜單的valuefield屬性? –

回答

2

如果你正在嘗試新的項目添加到ddlCaseFiles,則:

ddlCaseFiles.Items.Add(new ListItem(reader["FileID"].ToString())); 

檢查是否存在的價值在ddlCaseFiles:

if (ddlCaseFiles.Items.FindByValue(reader["FileID"].ToString()) != null) 
{ 
    ddlCaseFiles.SelectedValue = reader["FileID"].ToString(); 
} 
+0

那麼,DropDownList是空的,因爲我加載一個空的。我想保留它爲空。這就是爲什麼我禁用它,然後只想添加1個FileID。 – user1084319

+0

我只想將一個特定值添加到ddl。我不知道爲什麼該程序認爲我正在尋找它。 – user1084319

+0

@ user1084319看到我更新的答案。你必須使用'ddlCaseFiles.Items.Add(new ListItem(reader [「FileID」] .ToString()));' 將新項目添加到您的下拉列表中。 –

相關問題