我正在尝试检索员工的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>
答案 0 :(得分:1)
脚本是相对的,它是从客户端URL的角度来看的。因此,当您更改页面路径以使页面看起来是从/employee
子目录提供时,脚本的正确相对路径会发生变化。所以它在/employee/js/charbar/rightside.js
寻找脚本。您可以更改这些相对路径(类似于../js/chartbar/rightside.js
),但如果再次更改路由,则可能会遇到问题。
因此,最好将参考应用程序根目录设为相对。
<script src='<%= ResolveClientUrl("~/js/chatbar/rightside.js")%>'></script>