Avatar billede claushelth Nybegynder
04. februar 2004 - 10:36 Der er 5 kommentarer og
1 løsning

Får ikke fat i stylesheet url

Jeg har en webapplication som benytter codebehind. Alle mine sider nedarver fra en basepage som jeg selv har oprettet. I denne basepage har jeg indsat min stylesheet med en komplet url, men denne virker ikke når jeg begynder at ligge mine sider ned i undermapper.

I php kan man definere en document location variabel foran sin sti, så den får den korrekte uanset hvor den ligger, hvordan kan dette lade sig gøre i asp.net/c#
Avatar billede repsak Nybegynder
04. februar 2004 - 10:48 #1
normalt bruger man Server.MapPath("minfil"), men jeg kan ikke helt lure din problemstilling, så jeg ved ikke om den hjælper dig
Avatar billede claushelth Nybegynder
04. februar 2004 - 10:55 #2
jeg tænker på om der skal gives en konstant i webconfig som jeg kan benytte i hele webløsningen...?
Jeg kan lige skrive mit problem er der her:

Fra min BasePage
    protected override void Render(HtmlTextWriter aOutput)
    {
        RenderPageHeader(aOutput);//her bliver headeren skrevet ud
        base.Render(aOutput);
        RenderPageFooter(aOutput);
    }

Selve udskrivning af header - heri ligger mit stylesheet, hvis url ikke passer til alle sider fordi siderne kan ligge på forskellige mappe niveau:
    private void RenderPageHeader(HtmlTextWriter aOutput)
    {
            aOutput.Write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" >" +
                "<HTML>" +
                    "<HEAD>" +
                        "<title>Dothelth</title>" +
                            "<meta content=\"Microsoft Visual Studio .NET 7.1\" name=\"GENERATOR\">"+
                            "<meta content=\"C#\" name=\"CODE_LANGUAGE\">" +
                            "<meta content=\"JavaScript\" name=\"vs_defaultClientScript\">" +
                            "<meta content=\"http://schemas.microsoft.com/intellisense/ie5\" name=\"vs_targetSchema\">" +
                            "<meta HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">" +
                            "<link rel=stylesheet href=\"DothelthStyleSheet.css\" type=\"text/css\" > " +
                "</HEAD>" +
                "<body>");
           
        }
Avatar billede thrytter Nybegynder
04. februar 2004 - 12:11 #3
Prøv at se på funktionen ResolveUrl - måske kan den løse dit problem.

Alternativt kan du droppe de relative stier, og kun bruge absolutte. Kræver dog at dit projekt er sat til "Default Web Site" i IIS'en.
Avatar billede claushelth Nybegynder
04. februar 2004 - 12:30 #4
ja...jeg kan desværre ikke køre med Default web site, da der er mange projekter på min IIS
Avatar billede thrytter Nybegynder
04. februar 2004 - 12:53 #5
Selvom du har mange projekter på din maskine kan en eller flere godt bruge absolutte stinavne - kræver så bare at du jævnligt skifter "Default Web Site" på IIS'en.

Kører selv på denne måde, da jeg (i nogle projekter) ikke gider bøvlet med relative stinavne.
Avatar billede claushelth Nybegynder
05. februar 2004 - 09:48 #6
Jeg ordnede det med en \rod\url.css

Det virkede..

ellers tak ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester