如何在Orchard CMS中使用javascript(js文件)

时间:2011-08-22 03:38:57

标签: javascript asp.net asp.net-mvc asp.net-mvc-3 orchardcms

任何人都可以告诉我如何在Orchard CMS中使用js文件?我将它添加到Layout.cshtml页面中 Script.include("jquery.js")

4 个答案:

答案 0 :(得分:27)

你可以双重做。

第一种方法就像mdm描述

  1. 创建自己的IResourceManifestProvider接口实现(查看Orchard源代码 - 它已在许多模块中实现),实现BuildManifests(ResourceManifestBuilder builder)方法并为给定的.js文件创建命名资源
  2. 在Razor视图文件(.cshtml)中使用@{ Script.Require("[your resource name]"); }以包含该脚本。
  3. 如果您有许多脚本文件,这可能是它们之间存在依赖关系,那么这是首选解决方案。它允许您指定每个脚本文件的依赖关系,并使Orchard处理其余的事务(因此,当您引用给定资源时,所有相关资源也将按正确顺序自动引用)。

    第二种更简单的方法是直接引用.cshtml文件中的.js脚本文件,而不创建命名资源。如果您想快速添加对单个脚本的引用,这将非常有用。像这样(取自Orchard.Web \ Core \ Shapes \ Views \ Document.cshtml 的例子):

    @{ Script.Include("html5.js").AtLocation(ResourceLocation.Head); }
    

答案 1 :(得分:11)

如果您安装并启用了Orchard.jQuery模块,则在视图的顶部使用:

Script.Require("jQuery")

看看Orchard.jQuery项目中的ResourceManifest类(应该在Orchard解决方案文件中的某个位置),在那里你可以看到使用这种语法可以包含的所有不同的jQuery模块(例如jQueryUI_CorejQueryUI_Tabs等)

E.g。

 manifest.DefineScript("jQueryUI").SetUrl("jquery-ui.min.js", "jquery-ui.js").SetVersion("1.9.2").SetDependencies("jQuery")
                .SetCdn("//ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/jquery-ui.min.js", "//ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/jquery-ui.js", true);

答案 2 :(得分:1)

有点作弊,但您可以将其添加到布局或文档文件中。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js" type="text/javascript"></script>

答案 3 :(得分:0)

要有一个很好的示例,请查找模块ContentPicker。这附带默认的Orchard源代码。它显示了如何使用Script.Require(“MyScript”)。 JQuery模块本身就是一个很好的例子。该模块还附带默认源代码。

注意:我指的是Orchard 1.7及更高版本