在Orchard CMS中创建布局形状的代码在哪里?

时间:2013-04-28 22:31:18

标签: orchardcms orchardcms-1.6

我们正试图通过阅读Bertrand Le Roy的blog post来了解Orchard请求生命周期。我们能够逐步完成代码并创建第一段的图表,该图描述了为特定路径创建Shape。好。

第一段的序列图

enter image description here

第一段的相关守则

public ActionResult Display(int id) {
    var contentItem = 
        _contentManager.Get(id, VersionOptions.Published);

    if (contentItem == null)
        return HttpNotFound();

    if (!Services.Authorizer.Authorize(Permissions.ViewContent, 
            contentItem, 
            T("Cannot view content"))) {
        return new HttpUnauthorizedResult();
    }

    dynamic model = _contentManager.BuildDisplay(contentItem);
    return new ShapeResult(this, model);
}

在第三段我们被困住了

在他的帖子的第三段中,Bertrand谈到布局形状。

  

此时,一项非常重要的形式已经存在   上下文,即布局形状。

行。所以它已经存在。什么时候创建它,以及创建它的代码在哪里?

1 个答案:

答案 0 :(得分:0)

Betrand Le Roy以codeplex discussion回答。

  

[布局形状]是工作环境在第一次需要时创建的(请查看   那里的布局属性访问者。

他的回答是指这段代码:

public dynamic Layout {
    get { return GetState<object>("Layout"); }
    set { SetState("Layout", value); }
}