Orchard:仅显示单个内容项

时间:2014-05-14 10:36:29

标签: asp.net-mvc-4 razor orchardcms

我希望能够显示某种类型的内容项目,并且只能显示该内容项目,即没有不属于所述项目的形状。

我尝试使用{Themed(false)]属性创建控制器方法,或者返回部分视图。这些都几乎完全符合我的要求,除了这些不包括任何与我试图显示的视图相关的脚本或样式。

我目前的尝试看起来像这样:

控制器方法:

[Themed(false)]
public ActionResult DisplayBare(int id) {
    var contentItem = _contentManager.Get(id, VersionOptions.Published);
    dynamic model = _contentManager.BuildDisplay(contentItem);
    return View( (object)model);
}

DisplayBare视图:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    @Display(Model)
</body>
</html>

问题是,当项目的显示视图包含Script.RequireScript.IncludeScript.Foot指令时,脚本不会显示在Html中。

我将如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

通过窥探Orchard来源找到解决方案:

使用此视图显示我的内容项目可以提供我想要的内容:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>

        @{
            Style.Include("Site.css");
            var content = Display(Model);
        }
        @Display.Metas()
        @Display.HeadScripts()
        @Display.HeadLinks()
        @Display.StyleSheetLinks()
    </head>
<body>
    @content
    @Display.FootScripts()
</body>
</html>