2010-10-01 7 views
0

Je construis un formulaire avec de nombreux panneaux et de nombreuses commandes (à l'intérieur et à l'extérieur des panneaux). Les panneaux et les contrôles doivent être activés/désactivés pour l'édition (et probablement désactivés pour l'édition avec la dernière valeur sélectionnée) en fonction de l'état du modèle, de l'état de l'autre panneau et de la validation de ses propres règles métier. Jusqu'à présent, nous avons créé de nombreux panneaux avec les mêmes contrôles (beaucoup .aspx) pour les ajouter chaque fois que nous voulons modéliser l'état du modèle et les conditions commerciales (etc.). Je pense que cela peut être fait d'une meilleure façon ... (c'est-à-dire en utilisant ModelState et en manipulant ses clés ou en désactivant la validation de formulaire en fonction d'un critère ...). Donc:Comment gérer l'état d'activation/désactivation conditionnelle sur un formulaire mvc?

  1. Est-il possible de contrôler quels champs dans le modèle vont être validés à chaque poste?
  2. Les contrôles d'affichage peuvent-ils être désactivés (à la fois pour l'édition et la validation) en fonction de l'état du modèle?
  3. Si la réponse est "NON" pour 1 et 2, comment activer/désactiver les contrôles en utilisant l'état du modèle?

Répondre

0

Vous pouvez contrôler si les champs sont affichés et/ou validés basés sur l'état du modèle d'une manière comme ceci:

<%if (Model.SomeProperty==someValue){%> 
    <%: Html.TextBoxFor(blah=> blah....)...%> 
    <%if (Model.OtherProperty==otherValue){%> 
     <%: Html.Validator...%> 
    <%}%> 
<%}%> 
+0

qui précède suppose, bien sûr, les formulaires Web View Engine –

Questions connexes