2012-04-20 172 views

回答

6
  1. 在您的主题或模块中创建一个ResourceManifest.cs文件。

    using Orchard.UI.Resources; 
    namespace MyNameSpace { 
        public class ResourceManifest : IResourceManifestProvider { 
    
         public void BuildManifests(ResourceManifestBuilder builder) { 
          var manifest = builder.Add(); 
          manifest.DefineStyle("MyScriptName").SetUrl("~/Modules/MyModule/Scripts/scripts.js"); 
          manifest.DefineScript("MyStyleName").SetUrl("~/Themes/MyTheme/Styles/site.css"); 
         } 
        } 
    } 
    

在您看来,包括脚本和样式这样的:

@{ 
     Style.Require("MyStyleName"); 
    } 

    @using(Script.Foot()) { 
     Script.Require("MyScriptName"); 
    } 

您还可以使用Script.Head()把.js文件包括在<head>标签。

+1

我在主题项目中创建了一个'ResourceManifest.cs'并定义了一个脚本资源,就像你演示的那样。但我仍然得到一个错误:名为'MenuScript'的'脚本'找不到,我在ResourceManager.cs文件中得到这个错误。您是否必须执行任何额外步骤以确保资源可用?我在ResourceManifest.cs中放置了一个断点,它永远不会被击中。谢谢你的帮助。 – 2012-08-25 08:16:13

5

如果您不想创建清单,但想直接引用文件但仍然消除双打,也可以使用Script.IncludeStyle.Include

这里的404很可能是由于您未能包含允许提供文件的web.config文件。您可以复制现有脚本目录之一。

+1

对于web.config位为+1。感谢:D – Darren 2013-07-20 16:01:08