jQuery 库位置希望在服务器上以不同方式引用

标签 jquery asp.net-mvc model-view-controller jquery-ui

我有一个使用 jQuery 的 ASP.NET MVC 应用程序。为了加载 js 库,我像这样引用它们:

<script type="text/javascript" src="../../Scripts/jquery-1.3.2.min.js"></script>

这在本地工作正常,但是当我将其发布到服务器时,它找不到该库。为了让它工作,我必须将其更改为:

<script type="text/javascript" src="../Scripts/jquery-1.3.2.min.js"></script>

进行此更改允许它在本地和服务器上工作,但它会警告我找不到该文件。所以我有几个问题:

  1. 如果我没有引用正确的库位置,代码如何在本地运行?
  2. 我可以为脚本路径添加什么内容,以便在任何地方都可以工作并且不会发出警告?

我知道问题 2 的答案是将库存储在某个已知的绝对路径中,但我还没有准备好 promise 这一点。

最佳答案

试试这个:

<script type="text/javascript" src='<%= Url.Content("~/Scripts/jquery-1.3.2.min.js") %>'></script>

这将使应用程序根目录的路径相对化,无论它是在顶层还是在虚拟目录中。我实际上开发了一个 HtmlHelper 扩展,可以将其清理为:

<%= Html.Javascript( Url.Content( "~/Scripts/jquery-1.3.2.min.js" )) %>

添加以下内容以获得智能感知。这需要相对路径才能工作,但在运行时被排除,因为条件(总是)失败。

<% if (false) { %>
     <script type="text/javascript" src="../../Scripts/jquery-1.3.2.vsdoc.js"></script>
<% } %>

关于jQuery 库位置希望在服务器上以不同方式引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/730336/

相关文章:

jquery - iScroll 要求您定义宽度和高度,但如果您有一个响应式网站,您如何定义宽度?

javascript - 获取没有特定 sibling 的元素?

javascript - 如何将逗号分隔的多选值传递到表单提交上的 url

ajax - 调用 Web API 字符串参数

c# - 计算在 asp.net mvc 中查看的项目数

ruby-on-rails - 模型、 View 和 Controller 如何连接?

javascript - 使用 Ajax 从 jQuery 调用 PHP 脚本来创建新文件夹

asp.net-mvc - 有没有可能是MVC应用中controller参数需要,路由不匹配空参数?

javascript - 如何使用 YUI 应用程序框架更改 subview

c# - 使用 ID 参数重定向到操作 - .Net Core Web App MVC