2012-02-05 1 views
0

Je suis actuellement à la recherche d'un bon moyen de mettre en œuvre la navigation entre les pages (sans utiliser de type de boîte de dialogue) - en particulier lorsqu'une page est partagée par plusieurs pages.Page Navigation avec MVC3

Exemple

Il y a trois pages:

  • ProductEdit
  • OrderListItem
  • ProductList

La page ProductEdit peut naviguer à la fois la OrderItemList et la Pages ProductList.

La page ProductEdit comporte une action d'annulation et de mise à jour. Lorsque l'utilisateur clique sur l'une de ces actions, j'ai besoin de contrôle pour revenir à la page d'où il provient.

niveaux multiples

Toutes les idées sur la meilleure façon de mettre en œuvre. Je dois également soutenir ce travail à plus d'un niveau.

affichage connexes Tout cela est lié MVC3 mais est très similaire à un autre poste StackOverflow: Web page navigation

Merci beaucoup!

+0

Êtes-vous femblable avec la structure ASP.Net MVC? Quel est exactement le problème**? – gdoron

+0

Assez familier avec MVC. Comment saurais-je où retourner lorsque j'arrive sur la page ProductEdit? Je suis familier avec le référent URL, mais cette approche ne fonctionnerait pas dans les senarios à plusieurs niveaux, donc je pense que UrlReferrer est sorti. – dubs

Répondre

0

Vous pouvez utiliser la page ProductEdit comme vue partielle, puis vérifier le ViewBag.Title pour savoir dans quelle page il provient. Par exemple:

En OrderListItem Page:

@{ ViewBag.Title = "OrderListItem";} 
@Html.Partial("ProductEdit"); 

et même dans ProductList page. En ProductEdit page chèque:

If (ViewBag.Title = "OrderListItem") 

// envoie la valeur à votre commande avec le titre comme paramter ...

+0

Merci pour vos commentaires. Je vois ce que vous dites, mais cela couplerait étroitement la page ProductEdit à toutes les autres pages qui le demandent. Je devrais signaler que je souhaite que la page de ProductEdit soit une page séparée (c'est-à-dire pas un partiel). Peut-être, avant de charger la page de ProductEdit je pourrais stocker (ViewBag ou modèle) l'action de retour, le contrôleur et les données de route). Cela pourrait-il fonctionner? – dubs

+0

Je ne vous comprends pas vraiment. Pourquoi ne pouvez-vous pas implémenter @ Html.Partial ("ProductEdit") uniquement dans les pages requises? – TwTw

+0

Parce que je veux afficher la vue ProductEdit dans une page séparée. Ma compréhension de Html.Partial est qu'il va rendre html dans la vue contenant - ce n'est pas quelque chose que je veux faire - Je souhaite garder la vue de ProductEdit comme une page séparée que l'utilisateur peut naviguer. J'espère que cela est clair - désolé pour toute confusion. – dubs