2017-10-20 24 views
0

私はasp.netコアで非常に新しいです。 asp.netコアのチェックボックスリストを作成するには?例として、リストにはコースが表示され、学生は興味のあるコースを選択できます。asp.netコアのチェックボックスリスト

+1

私は、asp.netコアに関する基本的なチュートリアルを読むことをお勧めします。あなたはクライアントを作る技術は何ですか? Asp.net mvcまたは例えば角度?あなたの質問は具体的にはありません – Tester

答えて

-1
<asp:CheckBoxList ID="CheckBoxList1" runat="server"> 
     <asp:ListItem>Electronics</asp:ListItem> 
     <asp:ListItem>Electricals</asp:ListItem> 
     <asp:ListItem>Civil</asp:ListItem> 
     <asp:ListItem>Mechanical</asp:ListItem> 
    </asp:CheckBoxList> 
ここ
+0

opはasp.netコアを意味しました –

0

は、ASP.NET MVCとASP.NETコアのチェックボックスを使用する方法の完全な例である

モデル:

public class Student 
    { 
     public Student() 
     { 
      Courses = new HashSet<Course>(); 
     } 
     [Key] 
     public int Id { get; set; } 

     [Required] 
     [Display(Name = "Student Name")] 
     public string Name { get; set; } 

     public virtual ICollection<Course> Courses { get; set; } 
    } 

public class Course 
    { 
     public Course() 
     { 
      Students = new HashSet<Student>(); 
     } 
     [Key] 
     public int Id { get; set; } 

     [Required] 
     [Display(Name = "Course Name")] 
     public string Name { get; set; } 
     public virtual ICollection<Student> Students { get; set; } 

    } 

コントローラー:

public class StudentsController : Controller 
      { 
       private readonly CheckBoxListDbConetxt _dbConetxt = new CheckBoxListDbConetxt(); 


     [HttpGet] 
     public IActionResult CreateStudent() 
       { 

        ViewBag.AllCourses = _dbConetxt.Courses.ToList(); 
        return View(); 
       } 

       // POST: Students/Create 
       [HttpPost] 
       [ValidateAntiForgeryToken] 
       public IActionResult CreateStudent(Student student, List<int> selectedCourses) 
       { 
        if (ModelState.IsValid) 
        { 
         if (selectedCourses != null) 
         { 
          foreach (var item in selectedCourses) 
          { 
           Course course = _dbConetxt.Courses.Find(item); 
           student.Courses.Add(course); 
          } 
         } 

         _dbConetxt.Students.Add(student); 
         _dbConetxt.SaveChanges(); 
         return RedirectToAction("Index"); 
        } 

        ViewBag.AllCourses = _dbConetxt.Courses.ToList(); 
        return View(student); 
       } 
} 
01ビューで

<div class="form-group"> 
      <div class="col-md-2 input-label"> 
       <label class="control-label">Course</label> 
      </div> 

      <div class="col-md-10 input-box"> 
       <div class="form-control"> 
        @{ 
         var count = Enumerable.Count(ViewBag.AllCourses); 
         foreach (var item in ViewBag.AllCourses) 
         { 
          <input type="checkbox" name="selectedCourses" value="@item.Id" /> 
          @item.Name 
          if (--count > 0) 
          { 
           @:| 
         } 
         } 
        } 

</div> 
0

ブラウザを使用すると、型チェックボックスの要素を必要とするチェックボックスをレンダリングするには:チェックボックス項目のリストを作成するには

<input id="checkBox" name="checkbox" type="checkbox"> 

を、あなたは、単にそれらの要素の複数のレンダリング。

Asp.netコアを使用すると、かみそりの構文を使用してループを表現できるようにすることで、これを簡素化します。 cshtmlファイルに次のように入力して、レンダリングすることができます。 10件のチェックボックスアイテム:

@for (int i = 0; i < 10; i++) 
{ 
     <input type="checkbox" /> 
     <br /> 
} 

最後に、あなたがさらに必要なHTMLの作成を容易にするためにAsp.netのタグヘルパーを利用することができます。

の例では、プロパティIsEnrolledを持っている学生と呼ばれるモデルを前提としています。これにより、入力タグヘルパー(ASP-用)の使用に

@model Student 

@for (int i = 0; i < 10; i++) 
{ 
     <input asp-for="IsEnrolled" /> 
     <br /> 
} 

ブラウザにレンダリングされたHTMLは自動的にIDと名称HTML属性を含みます。さらに、タグヘルパーは、IsEnrolledプロパティの基になるデータ型を評価することによって、type =チェックボックスを自動的に設定します。