0

我在根文件夹中有一个页面,在根目录中的文件夹中有另一个页面。

文件夹结构

->root->files->foo.aspx
->root->default.aspx
->root->foo.js

当我从文件文件夹(foo.aspx)中的页面执行 server.transfer 到 root(default.aspx)中的页面时,我的 javascripts(foo.js)不会加载,因为页面会在子文件夹中查找文件(文件)。也就是说,页面在 ->root->files 中查找 javascript。

有没有办法让服务器在文件所在的地方寻找javascript?

PS:这只是一个例子,不是真实的场景,我有不同的文件夹级别需要在根目录下引用文件。

response.redirect 不是我正在寻找的答案。

提前致谢

4

1 回答 1

1

检索 .js 文件、图像等内容的附加请求由浏览器在检索到页面后完成。
由于Server.Transfer在不更改 URL 的情况下显示不同的页面,因此浏览器认为 url 是http://yoursite.com/files/foo.aspx而不是http://yoursite.com/default.aspx
在您的 HTML 中,您声明附加内容(.js 文件)位于同一目录中:

<script src="foo.js" />

并且由于浏览器认为他在files目录中,所以他在那里寻找它。

(这是设计使然...)

一种解决方法是放置完整的 URL 而不是相对的 URL:

<script src="http://yoursite.com/foo.js" />

甚至

<script src="/foo.js" />
于 2013-03-08T00:00:56.483 回答