4

在 Orchard 中,如何在从 ajax 调用加载的局部视图中包含一个 javascript 文件?

这是我尝试过的:

@{Script.Include("ownerInfo.js");}

如果视图被 ajax 调用命中,Orchard 会完全忽略这一点

编辑:下面的作品,虽然包括手工脚本并不理想。请参阅下面 Piedone 的示例以获得更好的选择。

<script type="text/javascript" src="./Modules/ModuleName/Scripts/script.js"></script>
4

1 回答 1

4

我认为这是设计使然。如果您查看 Orchard.UI.Resources.ResourceFilter (这是将这些形状添加到呈现静态资源的布局的过滤器),它包含以下检查:

// should only run on a full view rendering result
        if (!(filterContext.Result is ViewResult))
            return;

如果操作结果是例如 PartialViewResult,这可以防止它将形状注入到布局中。

您可以执行以下操作:

  • “手动”插入脚本
  • 将脚本包含在 Orchard 中,并在您的视图中显示头部和/或脚部脚本的形状:

    Display.HeadScripts() Display.FootScripts()

于 2012-08-14T09:34:11.740 回答