Orchard CMS:在自定义视图中使用当前主题

时间:2013-06-19 00:14:40

标签: asp.net-mvc orchardcms orchardcms-1.6

我有一个控制器

public class JobSearchResultController : Controller {

    public ActionResult Index() {

        return View();
    }
}

View~ / Views / JobSearchResult / Index

@Html.Raw("<b> TEST VIEW </b>")

然后我注册路线

    public IEnumerable<RouteDescriptor> GetRoutes()
    {
        return new[] {
            new RouteDescriptor {
                Priority = 5,
                Route = new Route(
                    "JobSearchResult",
                    new RouteValueDictionary {
                        {"area", "Module.Test"},
                        {"controller", "JobSearchResult"},
                        {"action", "Index"}
                    },
                    new RouteValueDictionary(),
                    new RouteValueDictionary {
                        {"area", "Module.Test"}
                    },
                    new MvcRouteHandler())
            }
        };
    }

我在其他一个观点中称之为

      @Html.ActionLink("Click Me", 
             "Index", 
             new { controller = "JobSearchResult", area = "Module.Test"" })

效果很好,我需要显示带有

的普通页面的实际视图/索引

测试视图

/ Orchard.Web / JobSearchResult URL

中的

现在,我的问题是我希望此页面使用当前主题/当前布局(母版页),就像普通内容类型一样

我该怎么做?

我知道有一个[Admin]属性,您可以使用Admin主题在Admin视图中显示该属性,但是如果我想在Client中显示它,该如何显示。有什么像

[Client] //display in Client
public class JobSearchResultController : Controller {

    public ActionResult Index() {

    return View();
     }
}

提前致谢!

1 个答案:

答案 0 :(得分:2)

是。你可以申请Orchard.Themes.ThemedAttribute:

[Themed] //display in Client
public class JobSearchResultController : Controller {
    public ActionResult Index() {
        return View();
    }
}