次のコードを使用して、Component Template Metadata でこれを取得できました。
@foreach (var cp in ComponentPresentations) {
@if (cp.Template.Metadata != null && cp.Template.Metadata["position"] != null){
@Debug(string.Format("The Component Template position is {0}", cp.Template.Metadata["position"].InnerText))
@if (cp.Template.Metadata["position"].InnerText.ToLower().Equals("main")){
@cp.RenderComponentPresentation()
}
}
}
したがって、次のようなものを使用できるはずだと思います。
@if (Page.Template.Metadata != null && Page.Template.Metadata["content_grid"] != null){
@Debug(string.Format("The content_grid value is {0}", Page.Template.Metadata["content_grid"].InnerText))
<div class="@Page.Template.Metadata["content_grid"].InnerText">
</div>
}
content_grid は xml として返されるため、.Value ではなく .InnerText に注意してください。私のコードでは、「位置」は単なる文字列でした。分類法を使用している場合、これは異なる場合があると思います。
ありがとう、ジョナサン
PS私はRazor Mediatorのバージョン1.2を使用しています