2017-11-10 3 views
-1

Asp.Net MVCを使用してウェブサイトを構築しています。フォームデータをデータベースに正常に挿入しました。しかし、チェックボックスに問題があります。チェックボックスをオンにしてもデータベースの値は常に0です。ここデータベースへの挿入後、チェックボックスの値は常に0です。

@using (Html.BeginForm()) 
{ 
    <div class="modal-body"> 
     <div class="form-group"> 
      <label for="username" class="col-form-label">Name:</label> 
      <input type="text" class="form-control" **id="username" name="username" **> 
     </div> 
     <div class="row"> 
      <div class="form-group"> 
       <div class="col-md-6"> 
        <input type="checkbox" **id="user_privilage" name="user_privilage" **> 
        <label for="user" class="col-form-label">User</label> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div class="modal-footer"> 
     <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> 
     <button type="submit" class="btn btn-primary">Add</button> 
    </div> 
} 

は、コントローラのコードです:

[HttpPost] 
public ActionResult UserMaintenance(User collection) 
{ 
    try 
    { 
     List<object> lst = new List<object>(); 
     lst.Add(collection.username); 
     lst.Add(collection.user_privilage); 
     object[] allitems = lst.ToArray(); 
     int output = db.Database.ExecuteSqlCommand("insert into DATABASE(username,user_privilage) values (@p0,@p1)", allitems); 
     if(output>0) 
     { 
      ViewBag.msg = "User has been added"; 
     } 
     return View(); 
     //return RedirectToAction("UserMaintenance"); 
    } 
    catch { 
     return View(); 
    } 
} 

誰もが何が起こったか知っていますか?

+0

はいつもあなたがチェックボックスに値を与えていない – Mindless

+0

ビューモデルを使用します(「上」そう、それは 'バックポスト'その確認されている場合)。 'bool'プロパティを持つビューモデルを使用し、' @ Html.CheckBoxFor(m => m.yourProperty) 'を使用してモデルに強くバインドし、すべてのコントロールに対して同じようにバインドします –

答えて

0

trueをチェックボックスに値を設定する必要があるという点で、純粋なHTMLマークアップチェックボックスを使用しています。実行時の

モデル

Model

ビュー

enter image description here

ビュー

enter image description here

POSTアクションメソッド

我々はuser_privilageモデルプロパティに真の値を取得する必要がありますチェックボックスと送信されたフォームを確認しています。

チェックボックスをオフにした場合と同じ方法で、偽の値を取得します。

enter image description here

関連する問題