asp.net mvc @ Html.CheckBoxFor
J'ai des cases à cocher dans mon formulaire
J'ai ajouté à mon modèle
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace CorePartners_Site2.Models
{
public class CareerForm
{
//....
public List<CheckBoxes> EmploymentType { get; set; }
}
}
public class CheckBoxes
{
public string Text { get; set; }
public bool Checked { get; set; }
}
et ajouté à ma forme
@Html.CheckBoxFor(model => model.EmploymentType, new { id = "employmentType_1" })
@Html.CheckBoxFor(model => model.EmploymentType, new { id = "employmentType_2" })
@Html.CheckBoxFor(model => model.EmploymentType, new { id = "employmentType_3" })
mais j'obtiens l'erreur
Quel est le problème?
source d'informationauteur Heidel
Vous devez vous connecter pour publier un commentaire.
CheckBoxFor
prend unbool
vous êtes en passant unList<CheckBoxes>
. Vous devez faire:Notez que j'ai ajouté un
HiddenFor
pour laText
bien trop, sinon vous perdez que lorsque vous avez affiché la forme, de sorte que vous ne savez pas à qui les éléments que vous souhaitez vérifier.Modifier, comme indiqué dans vos commentaires, de votre
EmploymentType
liste estnull
lorsque la vue est servi. Vous aurez besoin de remplir que trop, ce faisant, dans votre méthode d'action:Html.CheckBoxFor
s'attend à unFunc<TModel, bool>
en tant que premier paramètre. Par conséquent, votre lambda doit retourner unebool
vous êtes en train de retourner une instance deList<Checkboxes>
:Vous avez besoin pour effectuer une itération sur les
List<Checkboxes>
à la sortie de chaque case:Si une seule case doit être cochée dans le même temps, l'utilisation RadioButtonFor à la place:
Si on plus on peut être vérifié dans le même temps, utiliser excellente extension: CheckBoxListFor:
De l'espoir,il aidera
Utiliser ce code: