2017-07-07 2 views
0

J'ai créé une application webmesheet asp.net en utilisant le modèle de projet vs2015 pour les webforms asp.net. Maintenant, je veux utiliser l'empaquetage, et cela fonctionne pour toutes les pages au niveau de la racine. Mais par le modèle, toutes les pages relatives à l'utilisateur (login, registre, réinitialiser le mot de passe, etc.) se trouvent dans le sous-dossier du compte (par exemple ~/account/Login.aspx)L'empaquetage ne fonctionne pas pour la page Web dans le sous-dossier

J'ai créé un bundle dans BundleConfig.cs comme

bundles.Add(new ScriptBundle("~/bundles/JQWidgets").Include(
     "~/jqwidgets/jqxcore.js", 
     "~/jqwidgets/jqxdata.js", 
     "~/jqwidgets/jqxbuttons.js", 
     "~/jqwidgets/jqxscrollbar.js", 
     "~/jqwidgets/jqxmenu.js",... 

Avant d'utiliser bottelage, j'avais déjà d'inclure les scripts sur le dossier ~/compte/register.aspx comme

<script src="../jqwidgets/jqxwindow.js" type="text/javascript"></script> 
<script src="../jqwidgets/jqxpasswordinput.js" type="text/javascript"> 
</script> 
<script src="../jqwidgets/jqxtooltip.js" type="text/javascript"></script> 
<script src="../jqwidgets/jqxvalidator.js" type="text/javascript"></script> 
<script src="../jqwidgets/jqxcheckbox.js" type="text/javascript"></script> 

signifie en utilisant le chemin relatif au lieu du chemin absolu. Maintenant, je voulais éliminer ces balises de script en utilisant les paquets inclus dans la page maître, mais ces scripts ne sont plus reconnus ("$" est indéfini)

Essayer de créer des paquets avec un chemin relatif a provoqué une erreur (la page ne chargera pas). Comment puis-je utiliser l'empaquetage (sur la page maître ou la page du sous-dossier) pour les pages situées dans un sous-dossier? Astuce: J'utilise l'authentification OAuth2.0, avec toutes les pages refusées pour les utilisateurs anonymes sauf les pages nécessaires pour le processus de connexion (connexion, enregistrement, oublié pwd etc.). Est-ce que cela peut être une raison pour laquelle les fichiers groupés ne peuvent pas être trouvés?

Répondre

0

Encore une chose amusante: Cela ne fonctionnait pas dans IE, mais cela fonctionnait dans Chrome.

Pour le faire fonctionner aussi dans IE, je devais ajouter ce qui suit à web.config:

<location path="bundles"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location>