包含路由URL中的JavaScript文件

时间:2011-04-24 01:26:16

标签: javascript asp.net url-routing

我的主页在<head>标记内有以下几行。

<link href="Styles/Style.css" rel="stylesheet" type="text/css" />
<script src="Scripts/navmenu.js" type="text/javascript"></script>

当我导航到使用URL路由的页面时,上面的行会生成以下HTML。

<link href="../../Styles/Style.css" rel="stylesheet" type="text/css" />
<script src="Scripts/navmenu.js" type="text/javascript"></script>

根据映射的URL,样式表链接是正确的。如何让脚本链接也正确?

P.S。我尝试在脚本链接中设置runat="server",但这似乎混淆了ASP.NET。整个项目无法根据我的JavaScript文件中报告的虚假错误进行编译。 (否则javascript文件运行正常。)

1 个答案:

答案 0 :(得分:1)

看起来最好的答案是:

<link href="Styles/Style.css" rel="stylesheet" type="text/css" />
<script src='<%= ResolveClientUrl("~/Scripts/navmenu.js") %>' type="text/javascript"></script>

请注意,如果我将ResolveClientUrl()用于样式表<link>标记,则该标记不起作用。显然,这个标签有特殊的处理方式。