2010-10-15 13 views
1

je suis en train de créer un PartialView avec une action de contrôleur comme:ASP.Net MVC 2 PartialView qui lit une partie de l'URL

publique ActionResult GetPostsByUser (string userName) {

où userName fait partie de l'URL:

www.example.com/User/toddM

toddM étant le userName

.. Tout d'abord je vais à propos thi s dans le bon sens ?? si je le fais une chaîne de requête? userName = toddM cela fonctionne .. mais j'ai besoin de le lire à partir de l'URL. Encore une fois, ceci est une vue partielle. Merci!

+0

Pourquoi vous Tring utiliser UserControl dans ASP.NET MVC? Vous devriez utiliser PartialViews. – goenning

+0

désolé mauvaise nomenclature .. J'utilise PartialView, remplacer le mot usercontrol par partialview dans mon message original. Merci! – toddm

+0

Il semble que vous manquiez une route correspondant '/ User/{userName}'. Lire sur les routes. :) Aussi, que ce soit dans la chaîne de requête ou l'URL ne fait aucune différence fonctionnelle dans ce cas. Vous ne devez toujours pas extraire le nom d'utilisateur de la vue, mais du contrôleur. – bzlm

Répondre

2

Votre exemple Url n'est pas "bien formé" car il manque un contrôleur/action.

En fait, par la route par défaut créé par le modèle de projet MVC, vous devriez avoir

"{controller}/{action}/{id}", // URL with parameters 

Une URL comme www.example.com/Post/User/toddM serait inscrit parfaitement dans la route par défaut et donc je pense que fonctionnera sans aucun problème.

Celui-ci serait votre action dans un PostController hypothétique

public ActionResult User(string id) 
{ 
    //id will contain toddM 
} 
+0

Fonctionne! merci, j'ai eu la signature incorrecte ActionResult utilisateur public (string userName) {et aucun itinéraire correspondant. génial, merci encore! – toddm

+0

Vous êtes les bienvenus :) – Lorenzo