List集合FindAll()方法使用小案例

        開發過程中遇到這樣的問題,就是checkbox複選框有勾選後進行正常搜索,但是如果沒有勾選,則不能進行搜索,且有特殊情況下沒有勾選也可進行搜索(lstScopeButton集合中包含元素srname屬性爲"鄭州市"的元素)。       

     結合委託表達式對lstScopeButton集合進行篩選處理,根據FindAll()方法得到元素的srname屬性爲"鄭州市"的全部元素,並根據其個數判斷是集合中是否有符合srname屬性爲"鄭州市"的元素,進行後續操作。(如果FindAll()返回空數組或集合,不能用是否爲null來判斷,應用長度進行判斷)

if (@ViewBag.IsNoAdmin.ToString().ToLower() == true)  //普通用戶
                {
                    if (@lstScopeButton.Count>0 && @lstScopeButton.FindAll(a => a.srname=="鄭州市").Count == 0)
                    {
                        if ($("#divSearchBtns input:checkbox:checked").length == 0) {
                            layer.msg("請選擇複選框後進行搜索");                            
                            return false;
                        }
                    }
                }

      其中注意@ViewBag,我需要獲得從後臺傳遞迴的IsNoAdmin字段,爲Bool值類型。開始用@Html.Raw()以及其他方法都報錯,調試顯示報錯 True == true,後經網上查找資料,發現是@ViewBag返回的是Html文本,不能直接與js中的true比較,應轉換爲小寫字符串後比較。

      其次,注意可以用legth屬性判斷checkbox複選框是否全選來判斷進行後續操作,若length=0則可確定未勾選複選框。

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章