我有一个.Net 1.1 webapp。
我有一个usercontrol(.ascx),其中包含指向3个JS文件的链接 脚本标签。
当我运行应用程序并使用usercontrol加载页面时 一切都很好,Firebug显示列出的js文件。
但是当我加载另一个在.aspx中加载usercontrol的页面时 在新的浏览器窗口中,Firebug报告404找不到对象 对于3个JS文件。
什么可能导致这个?
马尔科姆
答案 0 :(得分:0)
您可能将其他页面放在文件夹层次结构中的其他位置。也许用JS引用你的JS服务器端标签。
因此,请尝试将您的JS路径更改为:
<script type="text/javascript" src='<%=ResolveUrl("~/someFolder/functions.js")%>'></script>
使用Microsoft Fiddler等工具来帮助您了解问题。
答案 1 :(得分:0)
您的其他.aspx页面位于不同的文件夹中?可能在文件夹层次结构中的不同级别?您需要调整JS文件路径,以便它们是绝对路径。
答案 2 :(得分:0)
您可以尝试在页面中使用基本路径。在这种情况下,您网站中的每个url / image / css / js引用都将相对于基本路径。在站点中使用基本路径可以防止在将文件移入/移出文件夹时出现大问题。
我通常将基本标记放入母版页。
<base href="<%=MyWebsite.Library.Configuration.BasePath%>" />
正如您所见,我的配置中请求了basepath,但您也可以使用.NET代码来确定基本路径。
使用这种结构可以在开发页面时省去很多问题。唯一的问题是Visual Studio并不完全知道如何处理这会导致一些关于错误的CssClasses或链接的警告。