我有頁面加載時的默認數據表,進一步當我更改我的頁面上的下拉選擇我想通過使用選定的下拉值循環現有的數據表。Linq查詢與.Contains不返回任何記錄
由於我的下拉菜單是多選下拉菜單,所以很有可能發送多個值來循環數據表。
對於這個scenariao我使用默認數據表上的linq qyery。 像這樣:
var zones = from myRow in ds.Tables[1].AsEnumerable()
where myRow.Field<string>("BusinessUnitId").Contains(BUIds)
select myRow;
dt = zones.CopyToDataTable<DataRow>();
它完美的下降的單值下降。但是,當多個ID傳遞時,查詢不會返回和行。
注:BUIds是一個字符串變量(例如:「1,2」)。
可有一個人告訴我,我在我的代碼很想念?
什麼是完全在你的案件BUIds?您能否提供更詳細的樣本以及您正在測試的數據? –
如果字符串包含完全給定的子字符串(不是來自BUID的任何單個數字),則String.Contains將計算爲true,在您的示例「0,1,2,3」.Contains(「1,2」)等於true ,但是「0,2,1,3」.Contains(「1,2」)等於false。 –