2011-06-29 23 views
0

コントローラメソッドで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 }); 
    } 
+0

コントローラのポストアクションメソッドはどのように見えますか?あなたが提供したページの –

答えて

0

falseをtrueを返します.checkedを(controlid)/

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){........} –