Relative adresser og Javascript

Tags:    .net

Hej :)

Jeg forsøger at tilføje javascript til mine ASP.NET sider, men er løbet ind i et problem jeg ikke kan finde en løsning på.

Mine filer ligger i forskellige mapper, og derfor vil jeg gerne have ASP.NET til at styre de relative adresser.

Jeg bruger denne streng (Som virker - næsten, men mere derom senere)

Fold kodeboks ind/udKode 


Den skriver den relative sti til filen der ligger i en mappe i roden af mit websted.

Problemet opstår når jeg vil have dette i <script> tagget, for at hente javascriptet.

Fold kodeboks ind/udKode 


Dette virker ikke. Får fejlen
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>;).

Jeg ved ikke hvordan jeg ellers skal kunne give adresserne på mine javascript filer ASP.NET styrede relative adresser - det er jo simpelt med alle andre elementer.

(Det er forresten på en masterpage det her)



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Har ikke en dyt forstand på ASP, og slet ikke på ASP.NET, men mener jeg har set noget med at man skal fortælle script-tagget hvor det skal køres...

Prøv at erstatte
Fold kodeboks ind/udKode 


med:
Fold kodeboks ind/udKode 


Aner ikke om det virker...



Nå, nu virkede det :)

Ved ikke lige helt hvorfor. Men tusind tak for den hjælp i har givet :)



Det skal gøres med <%# Variabel %>


Prøv ex at udskrive <%# HEY #>

Med følgende kode :

Fold kodeboks ind/udKode 



Prøv så er fjerne DataBind() til pagen - så fejler den usynligt som du er inde på :)

Jeg er ikke så meget inde i serverside programmering - men skulle mene det skyldes rækkefølgen tingene renderes.

/JJ



Indlæg senest redigeret d. 19.12.2006 21:56 af Bruger #5789
Har ikke en dyt forstand på ASP, og slet ikke på ASP.NET, men mener jeg har set noget med at man skal fortælle script-tagget hvor det skal køres...

Prøv at erstatte
Fold kodeboks ind/udKode 


med:
Fold kodeboks ind/udKode 


Aner ikke om det virker...


Nej desværre, der er intet runat="client" ser det ud som om.

Problemet havde åbenbart noget at gøre med at jeg brugte themes - så er <head runat="server">. Prøvede at stoppe med at bruge themes, og så kunne jeg snildt bruge metoden.

Kunne dog stadig godt tænke mig et svar, på hvordan man kan tilføje tags til en header der er runat=server - Skal man igennem ASP.NET kode skrive ens tags? Vil gerne kunne bruge ASP.NET theme functionen sammen med diverse javascript.



Hey..

Når du skal udskrive variabler i controls skal du bruge

<%# Variable %>

Men det er generelt tåbeligt at bygge noget med absolutte stier - som du sikkert allerede ved..

- og nej der er ingen runat=client... :) - Alt køres vel hos klienten, udover de controls du opretter

/JJ



Indlæg senest redigeret d. 19.12.2006 11:06 af Bruger #5789
Kan nu ikke få den til at skrive noget. Den fejler lydløst med ;

Fold kodeboks ind/udKode 


Prøver at fortælle mit Javascript hvilken side det er fra Sitemap'et. Men jeg laver en javascript function der regner det ud med noget adresse og DOM analyse, indtil jeg finder en bedre løsning.

Tak for hjælpen ellers :) Beholder mit <head runat=server>, for så kan jeg skrive dynamiske titler og meta tags fra min database.

Holder lige spørgsmålet åbent, hvis der skulle være en der render rundt med en løsning i knolden hehe :) Og lidt 'drikke-point' til jer for hjælpen. (Æv, ka kun dele hele puljen ud... så det må vente)



Indlæg senest redigeret d. 19.12.2006 13:35 af Bruger #2775
Nå, nu virkede det :)

Ved ikke lige helt hvorfor. Men tusind tak for den hjælp i har givet :)



t