Si vous êtes l'affichage d'un message sur une page différente de celle ViewData ne vous aidera pas, car il est réinitialisé à chaque requête. D'autre part, TempData peut stocker des données pour les deux demandes. Voici un exemple:
À l'intérieur de if bloc, vous devez utiliser TempData parce que vous êtes en train de faire la redirection d'une autre demande), mais à l'intérieur d'autre, vous pouvez utiliser ViewData.
Et à l'intérieur de vue, vous pourriez avoir quelque chose comme ceci:
Il n'y a vraiment pas besoin de re-mettre en œuvre la gestion des erreurs, car il est déjà intégré par le biais de ModelState.AddModelError(). En plus d'écrire moins de code, vous obtenez un meilleur contrôle sur exactement où vous voulez que vos erreurs de validation à apparaître (en Html.ValidationSummary() et Html.ValidationMessageFor()). Aussi, en utilisant des cadres de validation/plugins devenu plus facile pour le raccordement à l'parce qu'ils adhèrent également à la ModelState standard. Je suis d'accord, mais la question était sur le message de réussite pas d'erreur de validation 😉 Je recommande ce type de message s'afficher dans la page principale.
Utilisation ViewData pour stocker les messages de réussite. Créer le message de succès dans le Contrôleur et vérifiez dans la Vue. Si elle existe, de le rendre.
TempData peut être utilisé comme un dictionnaire.
Chaque valeur enregistrée dure pour le courant et la demande suivante.
Parfait pour les redirections.
J'ai tendance à stocker mes erreurs et réussites dans le même tableau/objet et de les transmettre à la vue.
Depuis plus de mon erreur/message de réussite apparaît au même endroit et, généralement, ils ne se produisent pas en même temps, ce n'est généralement pas un problème.
J'ai une fonction appelée ShowFeedback() que l'on appelle un contrôle utilisateur et la logique pour déterminer ce qu'il faut montrer. Les erreurs et les réussites sont marqués de la même en HTML et seul le css diffère un peu. Vous pouvez donc avoir
Utilisation ViewData["success"] ou ViewData["error"]
par exemple:
publicActionResult saveResult(){var num =1;//After action was completed;if( num ==1){ViewData["success"]="Action completed successfully";}else{ViewData["error"]="OOps Action not completed";}returnRedirectoAction("Index");}
sur la page que vous souhaitez vérifier si la présentation a été un succès
Si vous êtes l'affichage d'un message sur une page différente de celle
ViewData
ne vous aidera pas, car il est réinitialisé à chaque requête. D'autre part,TempData
peut stocker des données pour les deux demandes. Voici un exemple:À l'intérieur de
if
bloc, vous devez utiliserTempData
parce que vous êtes en train de faire la redirection d'une autre demande), mais à l'intérieur d'autre, vous pouvez utiliserViewData
.Et à l'intérieur de vue, vous pourriez avoir quelque chose comme ceci:
Je suis d'accord, mais la question était sur le message de réussite pas d'erreur de validation 😉
Je recommande ce type de message s'afficher dans la page principale.
OriginalL'auteur
dans votre contrôleur, vous pouvez le faire:
et à votre avis que vous, vous pouvez vérifier si il y a un message à afficher, et si oui, que de l'afficher:
OriginalL'auteur
Utilisation ViewData pour stocker les messages de réussite. Créer le message de succès dans le Contrôleur et vérifiez dans la Vue. Si elle existe, de le rendre.
OriginalL'auteur
TempData peut être utilisé comme un dictionnaire.
Chaque valeur enregistrée dure pour le courant et la demande suivante.
Parfait pour les redirections.
OriginalL'auteur
J'ai tendance à stocker mes erreurs et réussites dans le même tableau/objet et de les transmettre à la vue.
Depuis plus de mon erreur/message de réussite apparaît au même endroit et, généralement, ils ne se produisent pas en même temps, ce n'est généralement pas un problème.
J'ai une fonction appelée
ShowFeedback()
que l'on appelle un contrôle utilisateur et la logique pour déterminer ce qu'il faut montrer. Les erreurs et les réussites sont marqués de la même en HTML et seul le css diffère un peu. Vous pouvez donc avoirou
OriginalL'auteur
Utilisation
ViewData["success"]
ouViewData["error"]
par exemple:
sur la page que vous souhaitez vérifier si la présentation a été un succès
OriginalL'auteur