Specifying javascript file path on Master pages

N

Naveen K Kohli

I have couple of javascript files that need to be referenced for each
content page. So I am trying to put them on Master page. The problem is that
content pages are not on one level of the site. I have been trying to find a
way to specify path to these JS files so that the actual path to these files
correctly gets applied on the path at every level of the folder hierarchies.
So far no luck...

<script languaage=javascript src="/Scripts/myfile.js" />

Is there any solution to this problem? I have tried to use Server.MapPath
approach to fill src attribute from server side but that does not fly
because it throws exception that controls can't be added or removed on the
page because of theese server tags present on the page..

Any solution to this problem.. I am this close to abandoning use of master
page concept of asp.net 2

Thanks
 
K

Ken Cox - Microsoft MVP

Hi Naveen,

The tilde character (~) stands for the site's root when ASP.NET interprets
it. Therefore, you can create a link to your JavaScript that runs on the
server. I

<link runat="server" href="~/scripts/myfile.js" />

With that, every file should find it.

Let us know if this helps?

Ken
Microsoft MVP [ASP.NET]
 
N

Naveen K Kohli

Already tried that approach. It does not work at all.

Ken Cox - Microsoft MVP said:
Hi Naveen,

The tilde character (~) stands for the site's root when ASP.NET interprets
it. Therefore, you can create a link to your JavaScript that runs on the
server. I

<link runat="server" href="~/scripts/myfile.js" />

With that, every file should find it.

Let us know if this helps?

Ken
Microsoft MVP [ASP.NET]


Naveen K Kohli said:
I have couple of javascript files that need to be referenced for each
content page. So I am trying to put them on Master page. The problem is
that content pages are not on one level of the site. I have been trying to
find a way to specify path to these JS files so that the actual path to
these files correctly gets applied on the path at every level of the
folder hierarchies. So far no luck...

<script languaage=javascript src="/Scripts/myfile.js" />

Is there any solution to this problem? I have tried to use Server.MapPath
approach to fill src attribute from server side but that does not fly
because it throws exception that controls can't be added or removed on
the page because of theese server tags present on the page..

Any solution to this problem.. I am this close to abandoning use of
master page concept of asp.net 2

Thanks
 
K

Ken Cox - Microsoft MVP

Show us the code that doesn't work?

Naveen K Kohli said:
Already tried that approach. It does not work at all.

Ken Cox - Microsoft MVP said:
Hi Naveen,

The tilde character (~) stands for the site's root when ASP.NET
interprets it. Therefore, you can create a link to your JavaScript that
runs on the server. I

<link runat="server" href="~/scripts/myfile.js" />

With that, every file should find it.

Let us know if this helps?

Ken
Microsoft MVP [ASP.NET]


Naveen K Kohli said:
I have couple of javascript files that need to be referenced for each
content page. So I am trying to put them on Master page. The problem is
that content pages are not on one level of the site. I have been trying
to find a way to specify path to these JS files so that the actual path
to these files correctly gets applied on the path at every level of the
folder hierarchies. So far no luck...

<script languaage=javascript src="/Scripts/myfile.js" />

Is there any solution to this problem? I have tried to use
Server.MapPath approach to fill src attribute from server side but that
does not fly because it throws exception that controls can't be added or
removed on the page because of theese server tags present on the page..

Any solution to this problem.. I am this close to abandoning use of
master page concept of asp.net 2

Thanks
 
N

Naveen K Kohli

There is just one like of code... ShowAlert() function in the following code
is defined in my MyDOM.js file. And if you look at the loaded documents
(pages, js etc.) in browser, MyDOM.js is not there. And the call to
ShowAlert ends us generting a JS error.

<head runat=server>
<link href="~/Scripts/MyDOM.js" />
</head>

<body>
<script language=javascript>
ShowAlert();
</script>
</body>

Ken Cox - Microsoft MVP said:
Show us the code that doesn't work?

Naveen K Kohli said:
Already tried that approach. It does not work at all.

Ken Cox - Microsoft MVP said:
Hi Naveen,

The tilde character (~) stands for the site's root when ASP.NET
interprets it. Therefore, you can create a link to your JavaScript that
runs on the server. I

<link runat="server" href="~/scripts/myfile.js" />

With that, every file should find it.

Let us know if this helps?

Ken
Microsoft MVP [ASP.NET]


I have couple of javascript files that need to be referenced for each
content page. So I am trying to put them on Master page. The problem is
that content pages are not on one level of the site. I have been trying
to find a way to specify path to these JS files so that the actual path
to these files correctly gets applied on the path at every level of the
folder hierarchies. So far no luck...

<script languaage=javascript src="/Scripts/myfile.js" />

Is there any solution to this problem? I have tried to use
Server.MapPath approach to fill src attribute from server side but that
does not fly because it throws exception that controls can't be added
or removed on the page because of theese server tags present on the
page..

Any solution to this problem.. I am this close to abandoning use of
master page concept of asp.net 2

Thanks
 
K

Ken Cox - Microsoft MVP

You didn't follow my example properly. You must include runat="server".

Here it is again:

<link runat="server" href="~/scripts/myfile.js" />

Ken

Naveen K Kohli said:
There is just one like of code... ShowAlert() function in the following
code is defined in my MyDOM.js file. And if you look at the loaded
documents (pages, js etc.) in browser, MyDOM.js is not there. And the call
to ShowAlert ends us generting a JS error.

<head runat=server>
<link href="~/Scripts/MyDOM.js" />
</head>

<body>
<script language=javascript>
ShowAlert();
</script>
</body>

Ken Cox - Microsoft MVP said:
Show us the code that doesn't work?

Naveen K Kohli said:
Already tried that approach. It does not work at all.

Hi Naveen,

The tilde character (~) stands for the site's root when ASP.NET
interprets it. Therefore, you can create a link to your JavaScript that
runs on the server. I

<link runat="server" href="~/scripts/myfile.js" />

With that, every file should find it.

Let us know if this helps?

Ken
Microsoft MVP [ASP.NET]


I have couple of javascript files that need to be referenced for each
content page. So I am trying to put them on Master page. The problem is
that content pages are not on one level of the site. I have been trying
to find a way to specify path to these JS files so that the actual path
to these files correctly gets applied on the path at every level of the
folder hierarchies. So far no luck...

<script languaage=javascript src="/Scripts/myfile.js" />

Is there any solution to this problem? I have tried to use
Server.MapPath approach to fill src attribute from server side but
that does not fly because it throws exception that controls can't be
added or removed on the page because of theese server tags present on
the page..

Any solution to this problem.. I am this close to abandoning use of
master page concept of asp.net 2

Thanks
 
N

Naveen K Kohli

My bad.. I did follow what you said. While typing the code in the post I
forgot to write it.

Ken Cox - Microsoft MVP said:
You didn't follow my example properly. You must include runat="server".

Here it is again:

<link runat="server" href="~/scripts/myfile.js" />

Ken

Naveen K Kohli said:
There is just one like of code... ShowAlert() function in the following
code is defined in my MyDOM.js file. And if you look at the loaded
documents (pages, js etc.) in browser, MyDOM.js is not there. And the
call to ShowAlert ends us generting a JS error.

<head runat=server>
<link href="~/Scripts/MyDOM.js" />
</head>

<body>
<script language=javascript>
ShowAlert();
</script>
</body>

Ken Cox - Microsoft MVP said:
Show us the code that doesn't work?

Already tried that approach. It does not work at all.

Hi Naveen,

The tilde character (~) stands for the site's root when ASP.NET
interprets it. Therefore, you can create a link to your JavaScript
that runs on the server. I

<link runat="server" href="~/scripts/myfile.js" />

With that, every file should find it.

Let us know if this helps?

Ken
Microsoft MVP [ASP.NET]


I have couple of javascript files that need to be referenced for each
content page. So I am trying to put them on Master page. The problem
is that content pages are not on one level of the site. I have been
trying to find a way to specify path to these JS files so that the
actual path to these files correctly gets applied on the path at every
level of the folder hierarchies. So far no luck...

<script languaage=javascript src="/Scripts/myfile.js" />

Is there any solution to this problem? I have tried to use
Server.MapPath approach to fill src attribute from server side but
that does not fly because it throws exception that controls can't be
added or removed on the page because of theese server tags present on
the page..

Any solution to this problem.. I am this close to abandoning use of
master page concept of asp.net 2

Thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top