当ASP页面具有URL映射时,ASP.NET Javascript未加载

时间:2015-10-15 17:05:49

标签: javascript asp.net web-services web

我正在尝试检索员工的ID,并通过使用ASP.NET中的页面映射从URL检索员工ID来在我的详细信息页面中显示它们:

RouteTable.Routes.MapPageRoute("", "employee/{id}", "~/details.aspx");

这样的URL将是:

  

www.myexamplewebsite.com/employee/7937822353

问题是,Javascript文件没有加载,控制台充满了我的javascript错误。我的JS程序中也出现了404错误。映射时页面找不到任何JS文件。为什么在我映射URL时会发生这种情况?如果URL是www.myexamplewebsite.com/7937822353,则不会发生这种情况。

我做错了什么?

修改

这是我的JS文件的引用方式:

 <script src="js/chatbar/rightside.js"> </script>

1 个答案:

答案 0 :(得分:1)

脚本是相对的,它是从客户端URL的角度来看的。因此,当您更改页面路径以使页面看起来是从/employee子目录提供时,脚本的正确相对路径会发生变化。所以它在/employee/js/charbar/rightside.js寻找脚本。您可以更改这些相对路径(类似于../js/chartbar/rightside.js),但如果再次更改路由,则可能会遇到问题。

因此,最好将参考应用程序根目录设为相对

<script src='<%= ResolveClientUrl("~/js/chatbar/rightside.js")%>'></script>