J'utilise l'URL Rewriting sous ASP.NET 4 (en utilisant ISAPI_Rewrite) et je constate que certaines de mes images ne se chargent pas semble que .NET ne pas comprendre que je utilise une balise html de base (assez standard et essentiel lorsque vous faites URL Rewriting):ASP.NET: images interrompues lors de la combinaison d'URL Rewriting, asp: ImageButton et balise de base html
par exemple dans mon environnement de développement que j'ai:
<base href='http://localhost/venuefinder/Website/'></base>
et sur mes pages J'ai:
<asp:ImageButton runat="server" ImageUrl="~/images/button.gif" />
Sur la page d'accueil du site (http://localhost/venuefinder/Website/) cela fonctionne très bien, mais sur une page qui utilise la réécriture d'URL, l'image ne fonctionne pas:
/venuefinder/Website/venues/ashton_gate_stadium/V18639/
..as le navigateur tente de charger:
http://localhost/images/buttons/search-button.gif
au lieu de:
http://localhost/venuefinder/Website/venues/images/buttons/search-button.gif
Cela se produit parce que .NET est rendu le bouton comme:
src="../../../images/buttons/search-button.gif"
... ce qui est incorrect.
Y at-il un moyen de corriger ce problème afin que .NET rende l'attribut src correct pour l'image? (Sans tous les ../../../ etc)
Je ne vois pas vraiment comment cela réglerait le problème? Je pensais qu'un répertoire virtuel me permettrait simplement de stocker les images ailleurs, mais dites-vous que cela change réellement le comportement de .NET lui-même? – NickG
Ou vous suggérez peut-être que je le crée vraiment au niveau racine, auquel cas je ne vois pas comment cela fonctionnerait si j'avais plus d'un site Web avec ce problème? Je ne peux pas mapper localhost/images/pour plus d'un site Web (et j'ai environ 30 sites Web que je développe). – NickG
Vous pouvez mapper/yourwebsite/images et définir le chemin de base de votre page sur http: // localhost/yourwebsite; alors vous pouvez toujours utiliser '/'. Comme le navigateur prend désormais/localhost/yourwebsite comme base pour les images préfixées '/. –