使用 HTML 帮助程序在 cshtml 中引用 jQuery



我通常使用以下方法引用jQuery:

<script src='@(Url.Content("~/JavaScript/jquery.maskedinput-1.2.2.js"))' type="text/javascript"></script>

我在许多页面中引用相同的Jquery。对静态内容(名称或版本号)的任何更改都需要更新所有视图以吸收更改。为了解决这个问题,我尝试在 Global.asax 中为 Jquery 文件创建路由,如下所示

routes.MapRoute("jquery.maskedinput.js", "Javascript/jquery.maskedinput-1.2.2.js");

我尝试使用 Html 助手在 cshtml 中调用它,如下所示

 <script src='@Html.RouteLink("maskedinput","jquery.maskedinput.js") ' type="text/javascript"></script>

我知道 RouteLink 返回一个锚标记,因此没有正确设置源以供 Jquery 加载。

要求:

  1. 是否有任何其他 Html 助手只能返回虚拟路径(或)
  2. 我需要用一个名称而不是一个路径来引用Jquery。路径应该在全局的某个地方声明,以便在全局文件可以解决目的。

请帮帮我。

我将此方法用于BundleCollectionSystem.Web.Optimization看到我的问题,但即使没有它,这仍然有效。

namespace PROJECT.Classes
{
    public class JSBundles
    {
        public static string Test = "/scripts/test.js";
    }

然后像这样使用它:

<script src='@(JSBundles.Test)' type="text/javascript"></script>

渲染

<script src='/scripts/test.js' type="text/javascript"></script>

请注意,这需要在您的视图中引用PROJECT.Classes或放置它的任何位置。我在视图文件夹中的web.config中进行了该设置。

....
<add namespace="PROJECT.Classes" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

您可以使用流行且令人敬畏的RequireJS来使用javascript注入jquery(以及任何其他js依赖项),而不是手动提供它们

http://requirejs.org/docs/jquery.html 提供设置和使用说明

最新更新