Comment appliquer le style CSS à Html.ValidationSummary au moment de l'exécution
Je construis mon premier MVC4 site web et je voudrais afficher message de réussite lorsque la page soumise avec succès. J'ai obtenu en utilisant ModelState.AddModelError(("", "Data successfully saved.");
mais il s'affiche dans la couleur rouge. Je veux appliquer différents css lors de l'exécution basée sur certaines conditions.
Grâce.
un ping sur l'ensemble de code.. où u r à l'aide de
OriginalL'auteur MaxPayne | 2013-03-20
Vous devez vous connecter pour publier un commentaire.
Normalement lorsque le résultat d'une méthode d'action est réussie une redirection qui se passe, c'est peut-être ce que vous voulez, surtout si votre résultat n'est pas un résultat json. Mais si vous êtes de retour le même point de vue après votre post, alors vous faites de façon incorrecte. Si le
ModelState
est valable sur un post, c'est si la validation passé (par exemple, les champs requis sont fournis), et vous ajoutez un message d'erreur en faisantModelState.AddModelError(("", "Data successfully saved.")
alors, vous faites de laModelState
aller dans un état non valide. C'est la raison pour laquelle vous avez la couleur rouge.Maintenant, en supposant que vous voulez vraiment revenir au même point de vue, alors je suppose que vous avez quelque chose comme:
Ce que vous devez avoir, au contraire, est quelque chose comme ceci:
Ensuite sur votre façon de voir quelque chose comme:
Notez que vous n'avez pas besoin d'un supplément de
@
avant le si, ce code suppose que c'est à l'intérieur d'unform
balise, à l'aide de@using
. Et puis pour le css:Vous pouvez réellement utiliser ViewData ou ViewBag. Pour en savoir plus sur la différence entre les deux, vous pouvez visitez cette page DONC.
Mise à JOUR:
Votre point de vue:
Détail [IMG]i45.tinypic.com/b6stiv.png[/IMG] i45.tinypic.com/b6stiv.png
Si vous avez lu ma réponse, là encore, vous remarquerez que vous devez insérer le ViewBag code à l'intérieur de la
if (ModelState.IsValid...
, puis faire le reste de ma suggestion.J'ai lu votre réponse et je connais déjà cette approche, j'ai cette approche que j'ai de maintenir 1) @viewbag div et 2) ValidationSummary. Alors, pourquoi nous ne pouvons pas utiliser seul ValidationSummary pour afficher le message d'erreur et des messages de réussite. Je vous ne sont pas conscients, nous pouvons afficher les messages d'information dans validationsummary. Je viens juste de ne pas avoir la méthode pour ajouter des CSS dynamique de validationsummary selon les conditions.
Soyez assuré que je sais tous ce que vous parlez trop 😉 etes-vous conscient que vous pouvez approcher votre problème par ma suggestion et vous pouvez le faire d'une autre manière? Je préfère l'avoir séparé le ValidationSummary montre les erreurs et complètement différent de l'élément pour afficher un message de réussite. Si vous savez comment utiliser un ViewBag comme vous l'avez mentionné, vous pouvez l'utiliser pour indiquer le succès de la poste et de modifier le css en conséquence. Je vais essayer de mettre à jour ma réponse en fonction de votre préférences.
OriginalL'auteur von v.
Je recommande d'utiliser TempData au lieu de changer de validationsummary et @von très bien décrit. L'utilisation de bootstrap. Vous pourriez faire quelque chose comme ceci:
Contrôleur
Vue
OriginalL'auteur JoshYates1980
Von, trop, j'apprécie votre réponse, mais je suis d'accord avec MaxPayne que vous n'avez pas tout à fait fournir une réponse à la question, plus d'un travail autour de l'OMI.
Moi aussi, je suis à la recherche un moyen de style de la ValidationSummary sans les bagages supplémentaire de l'utilisation de la ViewBag.
Je suis d'accord que vous ne devriez pas revenir au même point de vue, après un post, sauf si il ya des erreurs, mais je crois que il y a des moments où l'on peut vouloir changer le ValidationSummary style dynamique sans avoir à utiliser le ViewBag.
Jusqu'à présent c'est ma seule plomb http://westcountrydeveloper.wordpress.com/2011/07/06/mvc-validation-part-4-styling-the-validation-controls/
Je suppose que vous pourriez utiliser certains JQuery pour changer l'élément du css attributs basés sur la réponse de Validation.
OriginalL'auteur Darrell Lloyd Harvey