@inherits UmbracoViewPage @using Umbraco.Web.Templates @using Newtonsoft.Json.Linq @if (Model != null && Model.sections != null) { var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1;
@if (oneColumn) { foreach (var section in Model.sections) {
@foreach (var row in section.rows) { @renderRow(row, true); }
} }else {
@foreach (var s in Model.sections) {
@foreach (var row in s.rows) { @renderRow(row, false); }
}
}
} @helper renderRow(dynamic row, bool singleColumn){
@Html.If(singleColumn, "
")
@foreach ( var area in row.areas ) {
@foreach (var control in area.controls) { if (control !=null && control.editor != null && control.editor.view != null ) { @Html.Partial("grid/editors/base", (object)control) } }
}
@Html.If(singleColumn, "
")
} @functions { public static MvcHtmlString RenderElementAttributes(dynamic contentItem) { var attrs = new List(); JObject cfg = contentItem.config; if(cfg != null) foreach (JProperty property in cfg.Properties()) { var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString()); attrs.Add(property.Name + "=\"" + propertyValue + "\""); } JObject style = contentItem.styles; if (style != null) { var cssVals = new List(); foreach (JProperty property in style.Properties()) { var propertyValue = property.Value.ToString(); if (string.IsNullOrWhiteSpace(propertyValue) == false) { cssVals.Add(property.Name + ":" + propertyValue + ";"); } } if (cssVals.Any()) attrs.Add("style=\"" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "\""); } return new MvcHtmlString(string.Join(" ", attrs)); } }