1

我很难在我的自定义主题中为特定区域添加形状。我想要实现的是,

  • 添加了在主页 url 上触发的控制器操作。“主题”属性分配给控制器动作。
  • 在此控制器操作中,我使用 IWorkContextAccessor 添加了一个形状,并指定了要在其中呈现该形状的区域。

问题/挑战:

  • 如果我的控制器操作的返回类型为“void”,则不会呈现任何内容。
  • 将控制器动作返回类型更改为“ActionResult”,形状会在所需区域呈现,但与控制器动作关联的视图也会被呈现。作为一种解决方法,我必须为我的控制器操作声明一个空视图(这似乎是一种开销)。

这是我的控制器操作代码。

返回类型为 ActionResult 的代码

    [Themed]
    public ActionResult HomePageSideZone()
    {

        string test = "This is text.";
        _workContextAccessor.GetContext()
            .Layout
            .Zones["column2_tab4"]
            .Add(_shapeFactory.MyShape(Text: test));
        return View("CargillHomePageSizeZone", _shapeFactory.CargillHomePageSizeZone(Text: test));



    }

返回类型为 Void 的代码

    [Themed]
    public void HomePageSideZone()
    {

        string test = "This is text.";
        _workContextAccessor.GetContext()
            .Layout
            .Zones["column2_tab4"]
            .Add(_shapeFactory.MyShape(Text: test));




    }

我不打算使用“放置”文件,因为我想使用代码来实现此功能。

4

0 回答 0