404找不到Javascript文件的对象

问题描述:

我有一个.net 1.1 webapp。404找不到Javascript文件的对象

我有一个usercontrol(.ascx),链接到3个JS文件 脚本标记。

当我运行应用程序并使用usercontrol加载页面 一切正常,Firebug显示列出的js文件。

但是,当我加载另一个页面,在一个新的浏览器窗口加载一个.aspx 用户控件萤火虫报告404对象未找到 3 JS文件。

这是什么原因造成的?

Malcolm

+0

你可以发布从ascx引用js的代码吗? – 2009-08-04 08:32:21

+0

Malcolm 2009-08-04 09:09:07

您可能在文件夹层次结构中的其他位置有其他页面。也许引用你的JS与服务器端标记与〜在它。

所以试着改变你的JS路径是这样的:

<script type="text/javascript" src='<%=ResolveUrl("~/someFolder/functions.js")%>'></script> 

使用像微软提琴手一种工具来帮助你理解这个问题。

你其他.aspx页面是在不同的文件夹?可能在文件夹层次结构的不同级别?你需要调整你的JS文件路径,以便它们是绝对路径。

您可以尝试在您的页面中使用基本路径。在这种情况下,您网站中的每个url/image/css/js引用将相对于basepath。在网站中使用基本路径可以防止在将文件移入/移出文件夹时遇到大问题。

我通常会将基本标签放入主页面。

<base href="<%=MyWebsite.Library.Configuration.BasePath%>" /> 

正如你所看到的基本路径是从我的配置要求,但你也可以使用.NET代码dertermine的基本路径。

在开发我的页面时,使用这种构造可以节省很多问题。唯一的问题是Visual Studio不完全知道如何处理这个问题,这会导致一些关于不正确的CssClasses或链接的警告。