J'ai besoin de maintenir la requête dans toutes les pages de mon application ASP.NET MVC (C #). P>
pour ex.:
Je vais appeler une page Comment puis-je y parvenir? Quel est le meilleur endroit pour faire cette opération commune? P> www.example.com?preview=true code>. Le QueryString doit être maintenu quelle que soit la page I clic dans
www.example.com code>. c'est-à-dire quand je clique sur
à propos de nous code> page dans
www.example.com code>, l'URL doit être
www.example.com/aboutus?preview=true code> p>
3 Réponses :
Vous pouvez créer une aide de vue qui ajoute à la chaîne de requête existante sur les liens que vous créez avec votre nouvel assistant. P>
Ceci peut Aide P>
Vous ferez peut-être mieux de stocker ces informations en session. P>
Peut-être que vous avez besoin d'un itinéraire personnalisé?:
routes.MapPreviewRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults );
Où utiliser cette route personnalisée?
Y a-t-il une autre solution sauf la session? Parce que lorsque je l'ai intégré, j'ai peu de problèmes .. I.e. Lorsque l'utilisateur clique sur l'aperçu, il affiche le deuxième site Web dans Aperçu avec tous les contrôles désactivés. Et en même temps, lorsque l'utilisateur le considère comme en direct, même les contrôles seront désactivés, car il a la touche "Aperçu" en session
Si l'utilisateur passe de l'aperçu en mode LIVE, vous souhaitez supprimer cette clé "Aperçu" de la session.
Une excellente direction de @ EU-GE-NE.
J'ai utilisé l'idée de la route personnalisée de @ EU-GE-NE pour ajouter la valeur de l'itinéraire à chaque URL et utilisé un basocontrôleur pour gérer la clé de l'aperçu SESSION. P>
if ((requestContext.HttpContext.Request.QueryString != null && requestContext.HttpContext.Request.QueryString["Preview"] != null && requestContext.HttpContext.Request.QueryString["Preview"].ToString() =="True") || (requestContext.HttpContext.Request.UrlReferrer != null && requestContext.HttpContext.Request.UrlReferrer.ToString().Contains("Preview=True"))) { //Add the preview key to session } else { //Remove the preview key to session }
Pensez à si quelque chose ne va pas avec votre conception, vous ne devriez pas avoir besoin de le faire .. Je suppose.
Je dois donner cette option pour désactiver toutes les commandes du deuxième site Web, si l'utilisateur clique sur l'aperçu du deuxième site Web à partir du site Web principal.