我希望能够显示某种类型的内容项目,并且只能显示该内容项目,即没有不属于所述项目的形状。
我尝试使用{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.Require
,Script.Include
和Script.Foot
指令时,脚本不会显示在Html中。
我将如何实现这一目标?
答案 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>