Heren/dames developers,
Ik heb een raar probleem m.b.t. een relatieve url binnen mijn applicatie.
Mijn applicatie draait op http://localhost/submap/.
Ik voeg vanuit de achtergrond code dynamisch wat javascript files toe aan de pagina (omdat deze onder bepaalde voorwaarden wel of niet toegevoegd moeten worden) op de volgende manier:
Dit werkt gewoon naar behoren. De website kijkt keurig op http://localhost/submap/js/naampje.js
Hetzelfde wil ik doen met een CSS file vanuit dezelfde pagina. Deze dient ook onder bepaalde voorwaarden wel of niet gebruikt te worden en daarom dat ik deze dynamisch toevoeg vanuit de code-behind.
Uiteraard staat deze CSS in een andere map en deze voeg ik toe op de volgende manier:
Dit werkt niet
De website kijkt niet naar http://localhost/submap/CSS/style.css, maar naar http://localhost/CSS/style.css en kan daardoor het bestand niet vinden.
Hoe kan het dat de ResolveClientUrl() functie totaal anders reageert?
De bestanden staan op de juiste positie in de mappenstructuur en als ik de CSS file naar de 'foute' positie verplaats, word hij keurig aangeroepen. Dus dat bewijst dat de ResolveClientUrl() functie daadwerkelijk een andere map terug geeft.
Iemand ideeën? Want ik zie het ff niet
Ik heb een raar probleem m.b.t. een relatieve url binnen mijn applicatie.
Mijn applicatie draait op http://localhost/submap/.
Ik voeg vanuit de achtergrond code dynamisch wat javascript files toe aan de pagina (omdat deze onder bepaalde voorwaarden wel of niet toegevoegd moeten worden) op de volgende manier:
code:
1
2
3
4
5
| ClientScriptManager csm = Page.ClientScript; if (!csm.IsClientScriptIncludeRegistered(this.GetType(), "Util")) { csm.RegisterClientScriptInclude(this.GetType(), "Util", ResolveClientUrl("~/js/Util.js")); } |
Dit werkt gewoon naar behoren. De website kijkt keurig op http://localhost/submap/js/naampje.js
Hetzelfde wil ik doen met een CSS file vanuit dezelfde pagina. Deze dient ook onder bepaalde voorwaarden wel of niet gebruikt te worden en daarom dat ik deze dynamisch toevoeg vanuit de code-behind.
Uiteraard staat deze CSS in een andere map en deze voeg ik toe op de volgende manier:
code:
1
2
3
4
5
6
7
8
9
10
11
| //Register CSS stylesheets if (Page.Header.FindControl("UtilCSS") == null) { System.Web.UI.HtmlControls.HtmlLink css = new System.Web.UI.HtmlControls.HtmlLink(); css.Href = ResolveClientUrl("~/CSS/style.css"); css.ID = "UtilCSS"; css.Attributes["rel"] = "stylesheet"; css.Attributes["type"] = "text/css"; css.Attributes["media"] = "all"; Page.Header.Controls.Add(css); } |
Dit werkt niet

De website kijkt niet naar http://localhost/submap/CSS/style.css, maar naar http://localhost/CSS/style.css en kan daardoor het bestand niet vinden.
Hoe kan het dat de ResolveClientUrl() functie totaal anders reageert?
De bestanden staan op de juiste positie in de mappenstructuur en als ik de CSS file naar de 'foute' positie verplaats, word hij keurig aangeroepen. Dus dat bewijst dat de ResolveClientUrl() functie daadwerkelijk een andere map terug geeft.
Iemand ideeën? Want ik zie het ff niet
