2017-07-05 43 views
-1

我使用下面的代碼進行篩選的基礎上Checkboxlist但過濾器不工作,如果我不選擇任何東西。如果我沒有檢查任何值,它必須顯示所有的值。比較複選框列表值什麼檢查通過LINQ

下面是該代碼: 「代替」 0

var selectedIds = chklstDepartment.Items.Cast<ListItem>().Where(item => item.Selected).Select(item => item.Value).ToArray(); 
         List<LessonLearnDetails> objLessonDetails = objLessonDashboard.getLessonLearntDetails(); 
         var searchData = objLessonDetails.Where(i => (ddlAsset.SelectedValue == "0") || (i._Asset.AssetID == ddlAsset.SelectedValue)) 
        .Where(i => (ddlAuditType.SelectedValue == "0") || (i._Audit.AuditTypeID == ddlAuditType.SelectedValue)) 
        .Where(i => (chklstDepartment.SelectedValue == "0") || (selectedIds.Contains(i._Department.DepartmentID))) 
        .Where(i => (ddlCategory.SelectedValue == "0") || (i._Category.CategoryID == ddlCategory.SelectedValue)) 
         .Where(i => (ddlStartYear.SelectedItem.Text == "--Select All--") || (Convert.ToInt32(i._Year.StartYear) >= Convert.ToInt32(ddlStartYear.SelectedItem.Text))) 
       .Where(i => (ddlEndYear.SelectedItem.Text == "--Select All--") || (Convert.ToInt32(i._Year.EndYear) <= Convert.ToInt32(ddlEndYear.SelectedItem.Text))) 
        .Distinct().ToList(); 
         BindGrid(searchData); 
+0

如果您未檢查任何值,目前的結果是什麼? –

+0

計數即將到來0 –

+1

當不檢查,你確定'SelectedValues'是「0」或「 - 全選 - 」?你怎麼能證明? –

回答

0

使用 「」。

chklstDepartment.SelectedValue == ""