2014-11-04 58 views
0

我很難確定在我的MVC項目中檢查了哪些複選框。這裏是我有我的複選框設置:如何知道選中哪個複選框?

<div id='myCheckboxDiv'> 
    <input type="checkbox" onclick="checkAll(this)">Check All 
    @foreach (var form in @Model.DetailObject.DoaFormGroupDocuments) 
    { 
     <br> 
     var checkBoxId = "chk" + form.DocumentId; 
     @Html.CheckBox(checkBoxId, new { value = form.DocumentId, @checked = true }); 
     @form.DocumentName; 
    } 
</div> 

基本上我加載一個頁面,顯示與DetailObject內的每個DoaFormGroupDocument一個複選框(可從0-10的任何地方)。我想要做的是,當我點擊頁面底部的保存按鈕時,與每個複選框相關的ID(每個複選框都是唯一的)被保存到列表中。

要清楚的是,我並不想在這個頁面上特別發生任何事情,我需要存儲在列表中的ID,我可以在其他區域(頁面)使用,所以我想這意味着我需要複選框狀態在控制器中確定。

+0

你可以使用JS? – 2014-11-04 16:39:24

+0

您的問題未滿。你應該指定,在哪裏確切地想要確定checboxes的狀態:在控制器(在回發中)或在客戶端使用javascript。 – Agat 2014-11-04 16:41:21

+2

我可以嗎?是啊。我精通它嗎?沒有。 – John 2014-11-04 16:41:38

回答

0

你可以從你的行動方法Requestcheck(檢查CheckBoxes發送作爲值)

var list = new List<bool>(); 
foreach (var form in DetailObject.DoaFormGroupDocuments) 
{ 
    var checkBoxId = "chk" + form.DocumentId; 
    if (Request[checkBoxId] == "on") 
     list.Add(true); 
    else 
     list.Add(false); 
} 

讀取發送的數據,如果它檢查是否列表是你CheckBoxes狀態。保存如你所願。

相關問題