如何检查复选框是否已选中

时间:2011-06-29 19:56:21

标签: asp.net-mvc

我对在控制器方法中访问html.checkbox()有疑问。

在我看来,我有

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

Predemts在DB中,我想创建新的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 });
    }

2 个答案:

答案 0 :(得分:0)

(controlid).checked将返回true / false

答案 1 :(得分: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%>