Je développe un site Web pour un client, dans lequel ils veulent être en mesure de gérer le contenu et ajouter/supprimer des pages.ASP.NET MVC site Web où les utilisateurs peuvent ajouter/supprimer des pages
En même temps, certaines pages du site seront interactives et fourniront des rapports personnalisés pour les clients connectés.
J'ai commencé à développer le site dans ASP.NET MVC, parce que je voulais un contrôle total sur le rendu. Cependant, je trouve difficile de modéliser conceptuellement le site.
Si les utilisateurs peuvent ajouter/supprimer des pages, alors comment peut-il y avoir un mappage direct des URL vers les contrôleurs?
Je pourrais faire un seul contrôleur de «page» et lui passer un ID de contenu, mais cela signifierait que tous le code dans le site serait assis sous 1 fichier de classe.
Je pourrais faire en sorte que les pages personnalisées/interactives soient placées sous différents contrôleurs, mais alors, comment le client pourra-t-il les gérer? Je suis vraiment perdu avec l'angle d'utilisabilité de cela aussi. Si je construis des pages interactives personnalisées, comment le client peut-il les ajouter/les supprimer de toute façon? Cela ne va-t-il pas modifier la structure de l'application elle-même?
Je pense à une option ... créer un gestionnaire de routage personnalisé. Il prend l'URL et si un contrôleur n'existe pas, il recherche les lignes 'Contenu' avec un nom correspondant et les affiche en utilisant un contrôleur par défaut (par exemple Page). Si un contrôleur est trouvé, ce contrôleur est exécuté et la ligne 'Content' correspondante, si elle existe, est transmise à ce contrôleur d'une manière ou d'une autre (par exemple via le constructeur). Le routage ASP.NET MVC est-il suffisamment flexible pour cela? – Jonathan
Personnellement, j'utiliserais un système CMS open-source comme Umbraco pour ce type de tâche. Je pense qu'il est plus facile d'intégrer des fonctionnalités sur mesure dans un CMS que d'intégrer un CMS dans un site sur mesure! Bonne chance, cependant. –