10
votes

Système de notification d'état pour l'application ASP.NET MVC3

Je me demande simplement comment implémenter Système de notification pour ASP.NET MVC3 Application Comme essentiellement lorsque l'utilisateur connecté au système avec la page de connexion avec succès affiche le message si ce n'est pas un message d'erreur.

J'ai une approche avec le problème ci-dessus. Valeur sur ViewModel Mais ne savez pas comment réaliser lorsque nous transmettons une notification d'un contrôleur à un autre contrôleur ou d'une action à une autre action. P>

Comme lorsque nous nous connectons à la connexion du système. Contrôleur de compte sur le contrôleur domestique et affiche le message de notification sur la page d'accueil Connexion utilisateur de la page d'accueil a réussi. em> p>

S'il vous plaît, il me convenait vraiment de comprendre si vous pouviez fournir un échantillon de code ou une autre approche avec Le problème ci-dessus. em> p>

THNAKS P>

PS P>

Voici le ressort du code que j'essaie avec P>

 public ActionResult Register(UserRegistrationViewModel registrationModel)
 {
   //some logic and when end of the code set the error message and
   //redirect to separate action and after new action can read the message and show
      if(success)  
         return RedirectToAction("Index","Home"); 
      else
         return RedirectToAction("Logon");
 }


0 commentaires

3 Réponses :


10
votes

J'aime utiliser le plug-in Purr JQuery

http://code.google.com/p/jquery-purr/

Si je veux montrer un message d'état, je l'ajoute à Tempdata. Au bas de mes pages, j'ai une méthode d'assistance qui, si elle trouve une tempdata ["StatusMessage"], il appelle à Roin pour l'afficher.


7 commentaires

Salut Adam merci pour la réponse mais ce n'est pas ce que je cherche, je viens de mettre à jour ma question.


Ce que j'ai posté ferait ce que vous mentionnez comme comment je comprends votre question.


Tempdata est conçu pour avoir adopté des informations entre vos demandes (et donc les méthodes d'action) sans avoir à spécifier des paramètres distincts.


Mais lorsque j'essaie d'attribuer un message dans templdata ["message"] dans l'action d'enregistrement et essayez de l'obtenir à partir de l'action de connexion TempData ["Message"] donnant une valeur vide.


Ok Tempdata est la solution incroyable pour mes besoins, j'ai écrit un code approprié pour les besoins susmentionnés grâce à la Perfize Tip ADAM.


@Gayanranasinghe quelque chose se passe avec ma réponse à l'ONU-l'accepter plus d'un mois plus tard? Purr permet de multiples mises à jour dans des fenêtres qui se chevauchent dynamiques - pas donc je pense avec MVCnotification.


Désolé c'était un accident. Je l'ai corrigé



4
votes

Vous pouvez aussi essayer MVCnotification . Chez Github Vous trouverez un exemple de projet ASP.NET MVC qui affiche plusieurs façons de faire des notifications, y compris des scénarios d'Ajax.

MVCnotification est une application d'exemple qui montre différentes manières de Affichage des notifications des actions du contrôleur ASP.NET MVC dans un manière discrète. P> blockQuote>

Je l'utilise actuellement et c'est un bon travail ... faites juste attention lorsque vous souhaitez utiliser la bonne méthode d'appel de la méthode passant true code> ou false code> au paramètre showafterredirect code>. En fonction des circonstances, le code utilise les propriétés TEMPDATA ou ViewData du contrôleur. Plus sur leur usage ici . P>

// If you want to display a message after a redirect, for example:
// call ShowMessage with true just before return RedirectToAction("Index");
this.ShowMessage(MessageType.Success, "YourMessage", true);


0 commentaires

1
votes

Je ne sais pas combien de personnes cherchent toujours un moyen de faire cela. J'ai mis en œuvre une approche très simple pour le faire dans ma demande actuelle et a écrit un guide sur mon blog sur la façon de le faire. Ma méthode est en fait une combinaison de 3 d'autres que j'ai vue (et que je me suis senti trop complexe pour moi en ce moment puisque je viens de commencer avec MVC). Quoi qu'il en soit, j'espère que cela aide toute personne à la recherche d'un moyen très simple de le faire:

http: / /www.nfynite.com/2012/04/07/Simple-mvc-3-notifications-with-razor-and-jquery/


0 commentaires