2014-04-29 36 views
0

我想創建代碼(在C#中)在我的代碼後面的文件,將檢查複選框列表中的項目,如果項目存儲在特定的列我的數據庫。我得到這些值並將它們存儲在一個數組中。我知道數組正在獲取正確的值,因爲我輸出了每個索引以查看其內容。現在試圖檢查複選框列表中的項目,如果值存儲在我的數據庫中

,我通過我的數組試圖循環,並檢查在我的陣列在我的CheckBoxList的每個項目。我做了一個嘗試/捕捉,它說

對象引用未設置爲對象的實例。

我想不通爲什麼我收到此錯誤。以下是我的代碼,我感謝任何提示/幫助。

if (findRecordUser.LinuxDistros != null) 
{ 
    string inputStr = findRecordUser.LinuxDistros; 
    char[] delimiterChars = { ','}; 
    string[] distros = inputStr.Split(delimiterChars, StringSplitOptions.RemoveEmptyEntries); 

    for(int i = 0; i < 2; i++) 
    { 
     try 
     { 
      CheckBoxListBrands.Items.FindByText(distros[i]).Selected = true; 
     } 
     catch (Exception ex) 
     { 
      LabelName.Text = ex.Message; 
     } 
    } 
} 
+0

暫時放置'變種臨時= CheckBoxListBrands.Items.FindByText(distros [i])'在'try'塊中,看看它是否真的找到了你認爲是的複選框,或者是否返回null。 –

回答

0

您表示您的CheckBoxListBrands變量是CheckBoxList對象。假設您添加使用你現在正在試圖使用在列表中找到的複選框相同的ID每個複選框的項目,你應該使用:

CheckBoxListBrands.FindControl(distros[i]) 

或可能:

CheckBoxListBrands.Items.FindByValue(distros[i]) 
+0

做CheckBoxListBrands.FindControl(distros [i])didn; t給我一個例外。現在如何讓它被檢查? – Stc5097

+0

CheckBoxListBrands.FindControl(distros [i])。[Checked](http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.checkbox.checked(v = vs.110)。 aspx)=真我想。 –

+0

表示選中無效 – Stc5097

相關問題