Je veux utiliser la sélection multiple dans Choisi . J'ai un modèle de compétence comme,
public class Skill
{
public int Id { get; set; }
public string Name { get; set; }
}
Cela fonctionne dans mon application:
<select data-placeholder="Choose a Country..." class="chzn-select" multiple >
<option value=""></option>
<option value="United States">United States</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
</select>
Je souhaite remplacer les données des pays par mes données. Dans le contrôleur j'écris:
var list = MyService.LoadAllSkills();
ViewBag.Skills = new MultiSelectList(list, "Id", "Name");
En vue:
@Html.ListBox("Name", ViewBag.Skills as MultiSelectList,
new { @class = "chzn-select" } )
Afficher le résultat de @ Html.ListBox () et @ Html.DropDownList () N'est pas comme <select>
J'obtiens donc le résultat:
Mais je veux obtenir le résultat
Comment puis-je changer l'échantillon choisi?
La seule différence que je peux voir entre l'exemple codé en dur (dont vous avez dit qu'il fonctionne) et celui que vous générez avec l'aide ListBox est l'absence de data-placeholder
attribut. Alors:
@Html.ListBox(
"Countries",
ViewBag.Skills as MultiSelectList,
new { @class = "chzn-select", data_placeholder = "Choose a Country..." }
)
Cela devrait au moins générer le même balisage que ce que vous avez dit fonctionne. Si cela ne fonctionne pas, vous n'avez probablement pas configuré correctement le plugin ou vous avez d'autres erreurs javascript. Lisez la documentation du plugin sur la façon dont il doit être configuré.
comme d'autres types l'ont mentionné, il semble que la cause de votre problème ne soit pas côté serveur (rasoir), c'est en fait côté client (très probablement l'initialisation de votre plugin Jquery).
probablement lorsque l'initialisation du plugin appelé DOM html n'est pas encore générée, placez votre script d'initialisation du plugin à la fin du corps ou à l'intérieur de $(document).ready()
et n'oubliez pas de jeter un œil à la console pour voir s'il y a est des erreurs
codage heureux