2011-06-29 109 views
0

我有關於在控制器方法中訪問html.checkbox()的問題。如何檢查複選框是否被選中

在我看來,我有

<% foreach (var item in Model.PredmetTbl){ %> 
    <td> 
    <%:Html.CheckBox(item.Predmet) %> 
    <%:item.Predmet %> 
    </td> 
<%} %> 

Predemts在DB,我想創建新的數據庫記錄。我如何測試checbox是否被選中?

我的控制器代碼

[HttpPost] 
    public ActionResult PridajSaduPredmetov(int id, FormCollection data) 
    { 
     var zoznam = from predmet in ziakDB.PredmetTables select predmet; 

     ZoznamPredmetovTable predmety; 

     foreach (var item in zoznam) 
     { 

      if (HERE TESTING IF CHECKED)//IF Checked==true will add to db 
      { 
       predmety = new ZoznamPredmetovTable(); 

       predmety.ZiakID = id; 
       predmety.PredmetID = item.PredmetID; 
       predmety.SkolskyRokID = IndexViewModel.GetSkolskyRokTeraz(); 
       try 
       { 
        ziakDB.ZoznamPredmetovTables.InsertOnSubmit(predmety); 
        ziakDB.SubmitChanges(); 
       } 
       catch { } 
      } 
     } 
     return RedirectToAction("DetailZiaka", "Administration", new { id = id }); 
    } 
+0

你的控制器發佈動作方法是什麼樣子? –

回答

0

(控件).checked將返回真/假

0

我沒有使用HTML複選框延伸,但我根據我對這個職位的解決方案: How to handle checkboxes in ASP.NET MVC forms?

<% For Each item As x In Model.predmetTbl%> 
        <div><input type="checkbox" name="SelectedPredMet" 
         <% If Model.SelectedPredMet.Contains(item.Id) Then%> 
          checked="checked" 
         <% End If %> 
         value="<%: item.Id %>" /> <%: item.Predmet %></div> 
       <% Next%> 
+0

在您提供的頁面上我發現解決方案:) bool isChecked = data.GetValues(item.Predmet).Contains(「true」); if(isChecked){........} –

相關問題