2010-10-18 5 views
0

Je voudrais suivre un ID dans l'itinéraire si c'est possible? C'est à peu près ce que je veux:Asp.Net MVC - Suivi d'un ID dans l'itinéraire

/groups/{id} - Show group 
/groups/{id}/forum/topic/{id} - Show forum topics for the group 
/groups/{id]/calendar/ - Show the calendar for the group 

Comme vous le voyez, je veux garder une trace de ce groupe auquel l'utilisateur est par l'URL, au lieu de, disons un cookie.

Merci!

Répondre

1

Avez-vous défini {id} dans vos itinéraires, par exemple:

routes.MapRoute(
    "", 
    "groups/{id}/forum/topic/{topicId}", 
    new { controller = "Forum", action = "Topic" }); 

Et dans votre contrôleur:

public class ForumController : Controller 
{ 
    public ActionResult Topic(int id, int topicId) 
    { 

    } 
} 

Ce n'est pas vraiment clair comment vous voulez le suivre ....

+0

Je suis complètement nouveau à MVC alors peut-être que je devrais avoir étudié plus avant de demander. Il semble que tout ce que j'ai à faire est que lorsque je crée un lien, je continue de passer le groupid (premier {id} ci-dessus). Maintenant, je me demande comment je peux obtenir le groupid dans une vue, pour le transmettre par exemple à ActionLink. – ZNS

0

Cela fonctionnerait tant que toutes les URLs possibles sont générées avec l'ID. Pour ces routes, vous pouvez accéder au {id} en utilisant les éléments suivants:

int id = int.Parse(RouteData.Values["id"].ToString()); 

Il peut être lourd à assurer que chaque lien sur chaque page contient l'identifiant. Aucune URL statique ne serait autorisée. Par exemple, si l'utilisateur clique sur la page d'accueil ou sur/à propos, l'identifiant sera perdu.

Questions connexes