2010-03-29 11 views
0

J'ai 2 listes différentes: EmployeeNames et Noms J'ai lu les valeurs dans Names et celle de EmployeeNames.Définir dynamiquement les valeurs des options

Si EmployeeNames existe dans Names, je ne dois pas ajouter cette valeur à "ToSelectBox" mais à "FromSelectBox".

Si EmployeeNames n'existe pas dans Names, je dois ajouter cette valeur à "ToSelectBox" mais pas à "FromSelectBox".

Comment puis-je faire cela dynamiquement?

I ont 2 valeurs d'option comme suit:

<select id="fromSelectBox" multiple="multiple" > 

    <% foreach (var item in Model.EmployeeNames) { %> 
      <option value="<%=Html.Encode(Item.Text)%>"><%=Html.Encode(item.Text)%></option> 
     <%} 
    %> 
    </select> 

select id="ToSelectBox" multiple="multiple" > 

    <% foreach (var item in Model.Names) { %> 
      <option value="<%=Html.Encode(Item.Text)%>"><%=Html.Encode(item.Text)%></option> 
     <%} 
    %> 
    </select> 
+1

Je pense qu'au lieu d'essayer de filtrer les listes dans la vue, votre modèle devrait refléter les besoins de la vue - retourner les listes pré-filtrées du contrôleur. – Jay

Répondre

1

Vous devez examiner les données et le contrôle que par programmation. Vous pouvez le faire dans le contrôleur, où vous pouvez utiliser Linq pour vérifier l'existence d'un nom dans une liste et y suivre vos règles métier, puis passer les listes finales à un modèle pour passer à la vue.

Vous pourriez mettre cette logique dans votre vue, mais cela va à l'encontre du but du contrôleur et de la séparation des calques.

Questions connexes