Bootstrap Contrôle de Contenu Modal
Ce projet illustre un composant conçu pour un client qui exploite un site Web bilingue. Nécessitant une solution polyvalente mais uniforme, le résultat final constitue un ajout élégant aux plates-formes ASP.NET et Bootstrap4.
Composants
- ASP.NET
- .NET Framework 4.6
- Razor 3.2
- Entity Framework 6.3
- Bootstrap 4.3
- JQuery 3.4 & Ajax
Problème
Le site Web gère le contenu bilingue au moyen de fichiers de ressources. Le contenu en anglais, français et espagnol est stocké dans des fichiers correspondants avec des fichiers en anglais par défaut, les autres étant identifiés par un suffixe «.fr-Ca» ou «.es-Us» en conséquence. La définition d'une culture via CultureInfo sur l'une de ces langues détermine le fichier de ressources utilisé. Bien que cette configuration fonctionne parfaitement pour les pages rendues telles que Razor, les fichiers statiques tels que Javascript ne peuvent pas extraire le contenu des fichiers de ressources.Le projet avait initialement abordé ce problème dans diverses implémentations délicates, telles que la définition de variables JavaScript globales dans Razor ou via l'appel Ajax sur document prêt. Destinées à utiliser le contenu de variable global dans les alertes, les confirmations et diverses formes modales, ces méthodes de récupération de contenu bilingue étaient indéchiffrables, disgracieuses et inappropriées pour un projet destiné à des déploiements à plus grande échelle.Solution
Deux méthodes de récupération de contenu bilingue, Static Content et Dynamic Content, extraient le contenu des fichiers de ressources au chargement ou à la demande, et présentent ce contenu dans des éléments modaux appropriés. Chaque élément modal est soumis via un script standard et une convention de dénomination cohérente.Contenu Statique Modal
Le contenu statique, tel que les alertes et les messages de confirmation, ne change pas entre les chargements de page.
Le contenu statique est récupéré dans le rendu Razor lors de la demande et affiché via les modaux Bootstrap.
Contenu Modal Dynamique
Dynamic content, such as a form, can change per item associated to the calling element.
Dynamic content is retrieved on modal open event. The event makes an Ajax request along with an Id and Action type. The MAAction determines the partial view and model, the MAId is the unique identifier.