Bonjour HFR
Aujourd'hui, dans le cadre d'un développement au boulot, je me retrouve bloqué face à une situation pour laquelle je ne trouve aucune solution fonctionnelle
Pardon à l'avance pour la catégorisation de ce topic, mais (vous le verrez) je ne sais pas laquelle lui correspond le mieux entre .NET, C#, VBS et pur HTML+JS...
Le contexte est assez "dense", le voici :
Il s'agit d'un site Web interne, reposant sur 5 projets d'applications .NET écrits dans différents langages (de nombreux développeurs se sont succédé au fil des années).
L'UI de base (appelons-la "coquille" ) est écrite en ASP Classic (HTML/JavaScript + VB Script), et fait appel via des iframe à d'autres projets (appelons les "api" ) plus récents (ASP .NET MVC avec C# et VB .NET).
Toutes ces applications sont articulées autour d'une base de données SQL Server unique (ouf, c'est déjà ça ).
C'est justement cette répartition qui me pose actuellement problème : depuis une page de la "coquille" (disons "dashboard.asp" ), j'affiche dans une <iframe/> une page d'un projet MVC (disons "User/Dashboard" ) qui me retourner une vue (disons "Dashboard.cshtml" ) contenant des données provenant de la base de données dans un tableau, jusque là, si vous avez suivi, tout fonctionne.
Pour une évolution récente, j'ai besoin d'ajouter un bouton "Print" sur chaque ligne de ce tableau, qui est sensé générer un bon de commande et le sortir à l'impression.
Le problème, c'est que ce bon de commande est généré par une page du projet "coquille" (disons "boncommande.asp?id=xxx" où xxx correspond à l'id de la ligne du tableau).
Il faut donc que depuis "Dashboard.cshtml" d'un projet MVC, je puisse lancer la navigation vers "boncommande.asp" d'un autre projet, et en lancer l'impression.
Là où je bloque, c'est que bien entendu "boncommande.asp" est une page qui ne sert pas qu'à l'impression et dispose donc de ses feuilles de style et script appliqués à l'ouverture ( document.ready()).
Du coup, aucune des techniques que j'ai utilisées (qui consistent à chaque fois à ajouter une <iframe/> invisible ou d'ouvrir une nouvelle windows Javascript) ne peuvent fonctionner.
Au mieux, j'ai le style qui s'applique, mais (et c'est bien normal) aucun script n'est exécuté (et donc certains éléments de la page ne sont pas calculés/initialisés).
Enfin, j'ai essayé le bon vieil appel AJAX injecté dans le .html() d'une <div/> invisible, mais je me heurte évidemment à la barrière de l'appel AJAX cros-domain entre mon appli "coquille" et mon "api" MVC.
Alors déjà, merci aux quelques courageux qui auront lu jusque là
Ensuite, avez-vous une idée ?
Je suis persuadé qu'il y a un truc bien plus simple à faire (tout transférer côté MVC peut être, et générer un PDF depuis une méthode FileResult ?), mais je bloque depuis des jours, j'ai le nez dedans, j'ai les idées embrouillées, je pense qu'un oeil externe m'aiderait
Merci à vous
---------------
La DiBerie | Rehost | Link