2009-12-30 5 views
1

Je souhaite utiliser un paramètre de requête URL simple pour afficher des messages de confirmation personnalisés tels que "Message envoyé" ou "Message supprimé". Je veux le modéliser comme Flickr le fait. Leurs URL ressemblent à http://www.flickr.com/photos/username/?success=1, puis affichent un message de réussite.Comment ajouter proprement? Q = paramètres de requête dans ASP.NET MVC?

Comment procéder dans ASP.NET MVC à l'aide d'un contrôleur return View(modelObject)? Les méthodes surchargées pour return View() ne sont pas très utiles.

Répondre

0

Vous devrez ajouter une paire nom/valeur dans le dictionnaire ViewData, par ex.

ViewData["message"] = "EPIC FAIL!!!"; 

ensuite accéder à la même chose dans votre vue:

Your result is: <%= ViewData["message"] %> 
3

URL paramètres de requête ne ont un sens sur les liens (c.-à-<a> tags), donc c'est quelque chose que vous créez dans la vue pas le contrôleur (le contrôle pourrait fournir l'information à la vue bien sûr). En utilisant les HTML Helpers qui prennent un objet pour spécifier le contenu de l'URL, tous les paramètres qui ne sont pas récupérés par l'itinéraire sont ajoutés en tant que paramètres de requête. itinéraire donné:

/{controller}/{action}/{id} 

alors le code d'assistance:

<%= Html.ActionLink("Click Here!", "theAction", "theController", 
        new { id = 10, q = "Something" }) %> 

va créer un lien:

/theController/theAction/10?q=Something 
+0

Il y a une petite faute de frappe dans le second bloc de code: Le point-virgule après le "10" devrait être une virgule: new {id = 10, q = "Quelque chose"} – Eilon

+0

Merci, Richard. Cela sera utile pour d'autres parties de mon application, mais je devais passer un message de confirmation à la vue après le succès du contrôleur. – tridium

+0

@tridium: Merci, corrigé – Richard

Questions connexes