Error executing template "Designs/Storcash/MyPages_Base_Layout.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_b90ed37dd4f7483684953f26ca95e1c7.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.RunCompile(IRazorEngineService service, String name, 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 RazorEngine.Templating.RazorEngineServiceExtensions.RunCompile(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.RunCompile(IRazorEngineService service, String templateSource, String name, Type modelType, Object model, DynamicViewBag viewBag)
   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.PageViewModel> 2 @using System.IO; 3 @using System.Web; 4 @using NorgesGruppen.Dynamicweb.Frontend; 5 @using Newtonsoft.Json; 6 7 <!-- Variables --> 8 @{ 9 bool isProduction = FrontendService.Config.Env == "prod"; 10 string version = FrontendService.Config.Version; 11 12 var googleTagManagerScript = Model.Area.Item.GetField("Google_Tag_Manager").Value; 13 14 var favIcon = "/Files/Images/Icons/favicon.ico"; 15 var loggedIn = Model.CurrentUser != null; 16 var logoutLink = $"/Admin/Public/ExtranetLogoff.aspx?ID={Model.ID}"; 17 var loginPageId = GetPageIdByNavigationTag("Login"); 18 19 var navbarID = GetPageIdByNavigationTag("Navbar"); 20 var footerID = GetPageIdByNavigationTag("Footer"); 21 var outDatedBrowserID = Model.Area.Item.GetInt32("OutDated_Browser_ID"); 22 23 var mobileNavbarMenu = Model.Area.Item.GetField("Vite_Mobile_Navbar"); 24 25 // Pre-load total price for mini-cart because reasons... This should really just be done inside the navbar template... 26 Dynamicweb.Context.Current.Items["CartTotalPrice"] = Model.Cart?.TotalPrice?.PriceWithVat?.FormattedNoSymbol.ToString() ?? "0,00"; 27 28 // Open Graph Metadata image variables 29 string urlScheme = Dynamicweb.Context.Current.Request.Url.Scheme + "://"; 30 string baseUrl = Dynamicweb.Context.Current.Request.Url.Host; 31 string openGraphImagePath = ""; 32 33 if (Model.PropertyItem != null) 34 { 35 openGraphImagePath = urlScheme + baseUrl + Model.PropertyItem.GetField("OpenGraphImage").GetFile(); 36 } 37 38 var contextAttributes = new Dictionary<string, object>() { 39 40 { "cart-feed-page-id", GetPageIdByNavigationTag("CartFeed") }, 41 }; 42 43 var contextAttributesFormatted = string.Join(" ", contextAttributes.Select(attr => string.Format("{0}='{1}'", attr.Key, attr.Value))); 44 45 46 var navigationContextAttributes = new Dictionary<string, object>() 47 { 48 { "logout-link" , logoutLink }, 49 { "login-page-id", loginPageId }, 50 }; 51 var navigationContextAttributesFormatted = string.Join(" ", navigationContextAttributes.Select(attr => string.Format("{0}='{1}'", attr.Key, attr.Value))); 52 53 var pageUrls = FrontendService.PageUrlService.GetRequiredPageUrls(Model.Area.ID); 54 var serializedPageUrls = JsonConvert.SerializeObject(pageUrls, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); 55 } 56 57 <!DOCTYPE html> 58 <html lang="no"> 59 <head> 60 @googleTagManagerScript 61 <meta charset="utf-8" /> 62 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 63 <title>@Model.Title</title> 64 @Model.MetaTags 65 <meta property="og:title" content="@Model.Title" /> 66 <meta property="og:description" content="@Model.Description" /> 67 <meta property="og:image" content="@openGraphImagePath" /> 68 69 <!-- Porta þetta yfir --> 70 <link href="\Files\Templates\Designs\Storcash\CSS\Fonts\graphik\Graphik-Regular.otf" as="font" type="font/otf" crossorigin="anonymous" /> 71 <link href="\Files\Templates\Designs\Storcash\CSS\Fonts\graphik\Graphik-Medium.otf" as="font" type="font/otf" crossorigin="anonymous" /> 72 73 <!-- Porta þetta yfir --> 74 @if (isProduction) 75 { 76 <script src="/Files/Templates/Designs/Storcash/JS/Libraries/Prod_Jquery-3.3.1.min.js"></script> 77 } 78 else 79 { 80 <script src="/Files/Templates/Designs/Storcash/JS/Libraries/Prod_Jquery-3.3.1.js"></script> 81 } 82 83 <!-- Porta þetta yfir --> 84 <link rel="shortcut icon" type="image/x-icon" href="@favIcon" /> 85 <link rel="stylesheet" href="https://unpkg.com/swiper@11/swiper-bundle.min.css" /> 86 <script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.3/dist/JsBarcode.all.min.js"></script> 87 <script src="https://unpkg.com/swiper@11/swiper-bundle.min.js" defer></script> 88 @if (FrontendService.Config.IsDev()) 89 { 90 @FrontendService.ViteStorcash.RenderModuleAssets() 91 } 92 else 93 { 94 @FrontendService.ViteStorcash.RenderManifestAssets() 95 } 96 </head> 97 <body> 98 <div id="app"> 99 <dynamicweb-context :ecom-enabled='@FrontendService.Config.Ecommerce.Enabled.ToString().ToLower()'> 100 <navigation-context :tags='@serializedPageUrls'> 101 <auth-context user-id="@(Model.CurrentUser?.ID)"> 102 <translations-context :area-id="@Model.Area.ID"> 103 <cart-context> 104 105 @if (navbarID > 0) 106 { 107 @RenderGrid(navbarID) 108 } 109 110 @if (outDatedBrowserID > 0) 111 { 112 @RenderParagraphContent(outDatedBrowserID) 113 } 114 115 @* 116 Created: 08-10-24 117 Creater: Bragi 118 Template for displaying myPages pages 119 *@ 120 121 122 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 123 124 @{ 125 var link = Model.Item?.GetLink("MyPagesNavigation") ?? null; 126 var MyPagesNavTree = Navigation.GetNavigationViewModel(new Dynamicweb.Frontend.Navigation.NavigationSettings 127 { 128 StartLevel = 1, 129 StopLevel = 99, 130 ExpandMode = Dynamicweb.Frontend.Navigation.ExpandMode.All, 131 RootPageId = link.PageId 132 }); 133 var nodesJson = Newtonsoft.Json.JsonConvert.SerializeObject(MyPagesNavTree.Nodes); 134 var showHeader = !Model.Item.GetBoolean("Hide_Default_Header"); 135 var showHeaderParam = showHeader ? "true" : "false"; 136 } 137 138 <my-pages-layout :show-header="@showHeaderParam" :nodes='@nodesJson'> 139 <template #desktop-nav> 140 <my-pages-mobile-nav :nodes='@nodesJson'></my-pages-mobile-nav> 141 </template> 142 <template #mobile-nav> 143 <link-list :nodes='@nodesJson' color="basic" text-size="14px"></link-list> 144 </template> 145 <template #nav-breadcrumbs> 146 <custom-breadcrumbs :nodes='@nodesJson'></custom-breadcrumbs> 147 </template> 148 <template #default> 149 @Model.Placeholder("mainContentPlaceholder", "Main Content Placeholder") 150 </template> 151 </my-pages-layout> 152 153 <div id="modal"></div> 154 </cart-context> 155 </translations-context> 156 </auth-context> 157 </navigation-context> 158 </dynamicweb-context> 159 @if (footerID > 0) 160 { 161 @RenderGrid(footerID) 162 } 163 </div> 164 </body> 165 </html>