404找不到Javascript文件的对象
问题描述:
我有一个.net 1.1 webapp。404找不到Javascript文件的对象
我有一个usercontrol(.ascx),链接到3个JS文件 脚本标记。
当我运行应用程序并使用usercontrol加载页面 一切正常,Firebug显示列出的js文件。
但是,当我加载另一个页面,在一个新的浏览器窗口加载一个.aspx 用户控件萤火虫报告404对象未找到 3 JS文件。
这是什么原因造成的?
Malcolm
答
您可能在文件夹层次结构中的其他位置有其他页面。也许引用你的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或链接的警告。
你可以发布从ascx引用js的代码吗? – 2009-08-04 08:32:21
– Malcolm 2009-08-04 09:09:07