【问题标题】:Server.transfer looks for the resource in subfolderServer.transfer 在子文件夹中查找资源
【发布时间】:2013-03-07 23:54:52
【问题描述】:

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

文件夹结构

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

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

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

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

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

提前致谢

【问题讨论】:

  • 您使用什么语法来引用 js 文件?它应该是相对于应用根目录的。

标签: asp.net response.redirect server.transfer


【解决方案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 而不是相对的:

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

甚至

<script src="/foo.js" />

【讨论】:

    猜你喜欢
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    相关资源
    最近更新 更多