Question

Je pense apprendre le ASP.NET MVC cadre pour un projet à venir.Puis-je utiliser le routage avancé pour créer des URL longues basées sur la hiérarchie du plan du site ?

Exemple de chemin de navigation :

Accueil > Boutique > Produits > Ménage > Cuisine > Batterie de cuisine > Batteries de cuisine > Antiadhésif

URL MVC typique (je pense) :
http://example.com/products/category/NonstickCooksets

URL souhaitée :
http://example.com/shop/products/household/kitchen/cookware/cooksets/nonstick

Puis-je faire ceci?

Était-ce utile?

La solution

Zack, si je comprends bien, vous voulez une profondeur illimitée des sous-catégories.Pas grave, depuis MVC Preview 3 (je pense 3 ou 4), cela a été résolu.

Définissez simplement un itinéraire comme

"{contrôleur}/{action}/{*categoryPath}"

pour une url telle que :

http://example.com/shop/products/household/kitchen/cookware/cooksets/nonstick

vous devriez avoir un ShopController avec une action Products :

public class ShopController : Controller
{
...
    public ActionResult Products(string categoryPath)
    {
        // the categoryPath value would be
        // "household/kitchen/cookware/cooksets/nonstick". Process it (for ex. split it)
        // and then decide what you do..
        return View();
    }

Autres conseils

Le routage MVC vous permet de définir à peu près n'importe quelle structure de votre choix, il vous suffit de définir la signification sémantique de chacun des éléments.Vous pouvez avoir des bits "codés en dur", comme "boutique/produits", puis définir le reste comme variable, "{catégorie}/{sous-catégorie}/{spécialité}", etc.

Vous pouvez également définir plusieurs itinéraires qui correspondent tous au même point final si vous le souhaitez.Fondamentalement, lorsqu'une URL arrive dans votre application MVC, elle passe par la table de routage jusqu'à ce qu'elle trouve un modèle qui correspond, remplisse les variables et transmet la demande au contrôleur approprié pour traitement.

Bien que l'itinéraire par défaut soit une simple configuration de type contrôleur, action, identifiant, ce n'est certainement pas l'étendue de ce que vous pouvez faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top