【发布时间】:2011-06-29 23:16:58
【问题描述】:
这是一个相对菜鸟的问题。
在开发 ASP.Net 网站时,如果我指的是具有 ResolveUrl() 方法的资源,它可以在实时服务器或开发服务器上运行,但不能同时在两者上运行,具体取决于提供的 Url。
例如,如果我的代码尝试使用以下代码选择资源,它可以在实时服务器上运行,但不能在开发服务器上运行,因为 JScript.js 不在 http://localhost:xx/Assets 下但在 http://localhost:xx/ApplicationName/Assets 下。
<script src='<%# ResolveUrl("~/Assets/JScript.js")%>' type="text/javascript"></script>
为了让它在两台服务器上都能正常工作,我必须根据我正在使用的服务器不断更改 URL。
我一直在忍受这个烦人的问题,但一直忽略它。
有没有更好的方法?
谢谢!
【问题讨论】:
-
如果您希望它们都位于同一应用程序路径下,请在 Visual Studio 中转到您的 Web 项目属性,单击 Web 并更改“虚拟路径”以匹配您的生产应用程序名称。跨度>
-
尝试将虚拟路径从
/MyIntranet更改为/,但未选择文件。 -
如果您查看页面的 url/source,它现在是否显示应用程序名称?在您的本地开发盒上,“JScript.js”的工作路径是什么?
-
现在在浏览器的 Url 框中,我没有看到应用程序名称,但 JScript.js 仍然没有加载。这是我的代码 -
<script src='<%# ResolveUrl("~/Assets/JScript.js")%>' type="text/javascript"></script>。当我查看源代码时,我应该有类似<script src="/Assets/JScript.js" type="text/javascript"></script>的东西,但我有这个<script src='' type="text/javascript"></script>。这是我的 JScript.js 文件~/Assets/。为什么加载不出来? -
将 # 更改为 = 即可解决您的问题(例如 )。