Orchardcms 从Orchard中的主题页面渲染模块视图?

Orchardcms 从Orchard中的主题页面渲染模块视图?,orchardcms,Orchardcms,我在Orchard中创建了一个主题,在主页上我想从一个模块中呈现一个视图 要渲染的视图由两个模块确定。一个“默认”模块和另一个模块,如果在Orchard中启用了默认模块,则会覆盖默认模块的路由。因此,我最好是在我的主题的主页中指定路由/url,并根据启用的模块呈现返回的视图。在果园里可以这样做吗 我可以使用AJAX在加载时动态呈现视图,或者使用和特定的url,但我更愿意使用“纯”Orchard解决方案 有什么建议吗?好的,多亏了伯特兰的评论,我想出了以下解决方案 @{ try {

我在Orchard中创建了一个主题,在主页上我想从一个模块中呈现一个视图

要渲染的视图由两个模块确定。一个“默认”模块和另一个模块,如果在Orchard中启用了默认模块,则会覆盖默认模块的路由。因此,我最好是在我的主题的主页中指定路由/url,并根据启用的模块呈现返回的视图。在果园里可以这样做吗

我可以使用AJAX在加载时动态呈现视图,或者使用
和特定的url,但我更愿意使用“纯”Orchard解决方案


有什么建议吗?

好的,多亏了伯特兰的评论,我想出了以下解决方案

@{
    try
    {
        Html.RenderAction("Register", new { controller = "Home", area = "Invites" });
    }
    catch (InvalidOperationException inviteException)
    {
        try
        {
            Html.RenderAction("Register", new { controller = "Home", area = "Users" });
        }
        catch (InvalidOperationException userException)
        {
            @Display(New.DownloadLink());
        }
    }
}

因此,首先我尝试从
邀请
呈现注册表,如果该模块被禁用,我尝试呈现注册表表单
用户
。如果两个模块都被禁用,将显示一个简单的下载链接。

RenderAction@BertrandLeRoy这样做很有效,但是我不需要指定
控制器
区域
吗?比如
{Html.RenderAction(“Register”,new{controller=“Home”,area=“Users”}}
或者
{Html.RenderAction(“Register”,new{controller=“Home”,area=“invests”}}}
取决于我想使用的注册表单?我想要的是从主页获取/推送一份登记表。如果启用了该模块,则应使用来自
邀请
的表单,否则应使用来自
用户
的表单。是这样吗?有些代码,有些地方需要知道你想要什么。它无法神奇地读出你的想法。迟早,你必须明确你想要渲染什么。