2009-11-12 63 views
0

我正在使用mvc,並且正在嘗試通過一組複選框進行循環,但是如何排除那些在該列表中爲「false」的數據?從數組中獲取已檢查的值

for(int i = 0; i < TimeRange1.Length; i++) 
     { 
      if(TimeRange1[i] == "false" ....??) 
     // dostuff 
     } 

還是有一些更好的方法呢?

/M

+0

如果TimeRange1是一個複選框數組(見Tim S. Van Haren),那麼你應該使用更好的名字,比如cbTimeRanges – RvdK 2009-11-12 14:49:25

+0

請顯示您的視圖的相關部分。具體而言,Html.CheckBox()幫助器僅用於呈現單個複選框,而不能用於呈現具有相同名稱的複選框集合。 – Levi 2009-11-12 19:47:15

回答

1

因爲您是使用MVC這樣做 - 你可以做一個TimeRange1bool[]

然後,你總是可以做到這一點使用LINQ

var newItems = TimeRange1.Select(i => i == false); 

foreach(var item in newItems) 
{ 
.... 
} 

,或者你可以把它簡化

foreach(var item in TimeRange1.Select(i => i == false)) 
{ 
.... 
} 
+0

我如何得到:foreach(var item in TimeRange1.Select(i => i!=「false」))工作?我似乎無法得到值 – 2009-11-12 15:12:13

+0

你不能'不'字符串值。刪除引號。 – 2009-11-12 15:14:54

+0

...更改'TimeRange1'的類型。 – 2009-11-12 15:15:44

1

假設TimeRange1是你CheckBox[],試試這個:

for (int i = 0; i < TimeRange1.Length; i++) 
{ 
    if (TimeRange1[i] == "on") 
    { 
     // dostuff 
    } 
} 
+0

這不會工作 - 他正在使用MVC。 – 2009-11-12 14:49:04