Error executing template "/Designs/Swift/Grid/Page/RowTemplates/3ColumnsFlex.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_b81ed102916544d88bd7404fe889d8ae.Execute() in F:\Domains\Sites\qa-qos.mydwsite3.com\Files\Templates\Designs\Swift\Grid\Page\RowTemplates\3ColumnsFlex.cshtml:line 83 at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.GridRowViewModel> 2 3 @{ 4 string containerClass = "container-xl"; 5 6 string width = Model.Item.GetRawValueString("Width", "").ToLower(); 7 if (width == "stretch") 8 { 9 containerClass = "container-fluid"; 10 } 11 if (width == "none") 12 { 13 containerClass = "container-fluid px-0"; 14 } 15 16 string rowClass = "gap-3"; 17 string spaceBetweenColumns = Model.Item.GetRawValueString("SpaceBetweenColumns", "").ToLower(); 18 19 if (spaceBetweenColumns == "stick") 20 { 21 rowClass = "gap-0"; 22 } 23 if (spaceBetweenColumns == "spacing-large") 24 { 25 rowClass = "gap-1 gap-md-4 gap-lg-5"; 26 } 27 28 string columnPosition = Model.Item.GetRawValueString("ColumnPosition", "align-items-center").ToLower(); 29 if (columnPosition == "top") 30 { 31 columnPosition = "align-items-start"; 32 } 33 if (columnPosition == "center") 34 { 35 columnPosition = "align-items-center"; 36 } 37 if (columnPosition == "bottom") 38 { 39 columnPosition = "align-items-end"; 40 } 41 42 string rowHeight = Model.Item.GetRawValueString("RowHeight", "0").ToLower(); 43 rowHeight = "py-" + rowHeight; 44 45 string column1width = Model.Item.GetRawValueString("Column_1Width", "").ToLower(); 46 column1width = column1width == "grow" ? "flex-grow-1" : "flex-grow-0"; 47 48 string column2width = Model.Item.GetRawValueString("Column_2Width", "").ToLower(); 49 column2width = column2width == "grow" ? "flex-grow-1" : "flex-grow-0"; 50 51 string column3width = Model.Item.GetRawValueString("Column_3Width", "").ToLower(); 52 column3width = column3width == "grow" ? "flex-grow-1" : "flex-grow-0"; 53 54 string hideOnScroll = Model.Item.GetRawValueString("HideOnScroll", "").ToLower(); 55 hideOnScroll = hideOnScroll == "hide" ? "js-hide-on-scroll" : ""; 56 57 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 58 string alternativeTheme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("AlternativeTheme")) ? " theme " + Model.Item.GetRawValueString("AlternativeTheme").Replace(" ", "").Trim().ToLower() : ""; 59 string mainTheme = theme; 60 61 string headerCssClass = "sticky-top"; 62 if (Pageview.Page.PropertyItem != null) { 63 headerCssClass = Pageview.Page.PropertyItem["MoveThisPageBehindTheHeader"] != null ? Pageview.Page.PropertyItem["MoveThisPageBehindTheHeader"].ToString() : "sticky-top"; 64 } 65 headerCssClass = headerCssClass == "" ? "sticky-top" : headerCssClass; 66 headerCssClass = Pageview.IsVisualEditorMode ? "" : headerCssClass; 67 68 string themeSwitchers = ""; 69 string themeAnimated = ""; 70 if (headerCssClass == "fixed-top") { 71 theme = alternativeTheme; 72 themeSwitchers = "data-main-theme=\"" + mainTheme + "\" data-alternative-theme=\"" + alternativeTheme + "\""; 73 themeAnimated = "theme-animated "; 74 } 75 76 var decorations = Model.Item?.GetList("CssDecorations")?.GetRawValue().OfType<string>() ?? Enumerable.Empty<string>(); 77 var css = string.Empty; 78 var cssClasses = new List<string> { }; 79 80 foreach (var itemId in decorations) 81 { 82 var item = Dynamicweb.Content.Services.Items.GetItem("Swift_Css", itemId); 83 item.TryGetValue("Class", out object classes); 84 if (classes is null) 85 { 86 continue; 87 } 88 89 var cssString = (string)classes; 90 if (cssString.StartsWith("[")) 91 { 92 var cssArray = Dynamicweb.Core.Converter.Deserialize<string[]>(cssString); 93 cssClasses.AddRange(cssArray); 94 } 95 else 96 { 97 cssClasses.Add(cssString.Replace(",", " ")); 98 } 99 } 100 css = string.Join(" ", cssClasses).Trim(); 101 102 var columnContent1 = Model.Column(1).Output(); 103 var columnContent2 = Model.Column(2).Output(); 104 var columnContent3 = Model.Column(3).Output(); 105 106 if (Pageview.IsVisualEditorMode || !string.IsNullOrWhiteSpace(columnContent1) || !string.IsNullOrWhiteSpace(columnContent2) || !string.IsNullOrWhiteSpace(columnContent3)) 107 { 108 <div class="@rowHeight @themeAnimated @theme @hideOnScroll @(css) item_@Model.Item.SystemName.ToLower()" @themeSwitchers data-swift-gridrow> 109 <div class="@containerClass"> 110 <div class="d-flex flex-row @rowClass @columnPosition"> 111 <div class="col @column1width"> 112 @columnContent1 113 </div> 114 <div class="col @column2width"> 115 @columnContent2 116 </div> 117 <div class="col @column3width"> 118 @columnContent3 119 </div> 120 </div> 121 </div> 122 </div> 123 } 124 } 125