2017-10-20 17 views
0

Je suis très nouveau dans le noyau d'asp.net. Comment créer une liste de cases à cocher dans le noyau asp.net? Comme l'exemple, la liste affiche le cours et l'étudiant peut choisir le cours qui l'intéresse.Checkboxlist dans le noyau d'asp.net

+1

Je suggérerais de lire un tutoriel de base sur le noyau asp.net. Dans quelle technologie allez-vous faire le client? Asp.net mvc ou par exemple angulaire? Votre question pas assez spécifique – Tester

Répondre

-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 signifie asp.net core –

0

Voici un exemple complet de l'utilisation dans ASP.NET MVC cases à cocher et ASP.NET de base

Modèle:

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; } 

    } 

Controller:

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); 
       } 
} 

En Vue:

<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

Pour rendre le navigateur de rendre une case à cocher vous besoin d'un des éléments de type case à cocher:

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

Pour créer une liste d'éléments de cases à cocher vous restituez simplement plusieurs de ces éléments .

Le noyau Asp.net simplifie cela en vous permettant d'exprimer votre boucle en utilisant la syntaxe du rasoir. Vous pouvez placer ce qui suit dans votre fichier cshtml pour le rendre par exemple. 10 articles de cases à cocher:

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

Enfin, vous pouvez utiliser une Asp.net Tag Helper pour faciliter davantage la création du html requis.

L'exemple suppose que vous avez un modèle appelé Étudiant qui a une propriété IsEnrolled.

@model Student 

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

En raison de l'utilisation de l'aide de la balise d'entrée (asp-pour) le code html qui est rendu au navigateur inclut automatiquement les attributs id et le nom HTML. De plus, l'aide-balise définit automatiquement la case à cocher type = en évaluant le type de données sous-jacent de la propriété IsEnrolled.