2011-06-29 107 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){........} –

相关问题