3

Je recherche des conseils sur le stockage des vues dans un magasin de données (base de données, fichier, autre) et les affiche en fonction des données de routage, toutes utilisant ASP.NET MVC 2 et routage ASP.NET.ASP.NET MVC Afficher les informations stockées dans un magasin de données

Par exemple, je voudrais être en mesure d'afficher des vues différentes sur la base des données d'itinéraire suivant:

/{country}/ 
/{country}/{area} 

Mais dans la même veine que je voudrais afficher:

/{planet}/ 
/{planet}/{satellite} 

Tous sont basés sur des chaînes et les données ne sont pas corrigées. Donc, basé sur le nombre de segments peut-être, utilisez cela comme critère de sélection dans le magasin de données ... en outre, je ne sais pas les segments à l'avance, de sorte qu'ils seraient tous dynamiques.

J'espérais que nous pourrions obtenir quelques méthodes ensemble ici, comme une sorte de référence pour tous - Je suis sûr que certaines méthodes ne seront pas tout le monde ... Suite

Alors, comment voulez-vous fais le?


Branislav Abadjimarinov suggéré une usine de contrôleur qui pourrait être utilisé pour faire le look et afficher la page dynamique. J'aime cette idée, qu'en penses-tu?

Répondre

1

Il n'y a aucun moyen pour MVC de comprendre à partir de laquelle la route de choisir cette URL. Vous devez rendre les itinéraires plus spécifiques. Par exemple:

/planète/{planète}/{} satelite

/pays/{country}/{} zone

Vous avez également la possibilité de définir votre propre controller factory. L'usine du contrôleur décide du contrôleur à instancier en fonction de l'itinéraire. Vous pouvez donc y mettre une logique personnalisée - vérifiez si le paramètre {planet} existe et si oui instanciez le contrôleur Planet d'instancier le contrôleur de pays.

+1

Ah, donc un contrôleur générique pourrait être créé par l'usine du contrôleur pour répondre à la demande ... J'aime, merci! – Kieron

+1

Je suis allé avec l'usine de contrôleur personnalisé qui a très bien fonctionné pour nous, merci. – Kieron

0

Cette Post peut vous être très utile.

Rappelez-vous que vous pouvez toujours ajouter une nouvelle règle de routage:)

Tout comme this

Questions connexes