如何在果园上显示从模块到页面的形状结果

时间:2015-04-24 17:25:48

标签: orchardcms

我是模块创建的新手,我创建了一个mvc应用程序,它从除了果园数据库之外的其他来源获取数据。我把它变成了一个模块,我只有一个控制器,并查看我要做的是将视图显示到不同的区域。有没有办法实现这一目标。

1 个答案:

答案 0 :(得分:1)

当您从控制器显示视图时,它会被隐藏到内容区域中。如果要在不同区域中显示数据,您很可能希望使用widgets。但是,您可以从Orchard的任何位置向区域发送任意形状。这会将名为 MyShape 的形状添加到 AsideFirst 区域。

public class MyController : Controller {
    private readonly IWorkContextAccessor _workContextAccessor;
    private readonly IOrchardServices _orchardServices;

    public MyController(IOrchardServices orchardServices, IWorkContextAccessor workContextAccessor) {
        _workContextAccessor = workContextAccessor;
        _orchardServices = orchardServices;
    }

    public ActionResult Random() {
        var shape = _orchardServices.New.MyShape();
        var zone = "AsideFirst";
        var position = "2";

        _workContextAccessor.GetContext().Layout.Zones[zone].Add(shape, position);

        return View("MainView");
    }
}

我真的不知道你的情景是什么,但我想说你最好的选择可能是看看Orchard Widgets。