Error executing template "Designs/exhibition_site/_parsed/espresso.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_93a2d674acfe4cab83bb55985af159fe.Execute() in E:\Websites\mch365.espresso5.dk\Files\Templates\Designs\exhibition_site\_parsed\espresso.parsed.cshtml:line 18
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 Co3.Espresso.Website.TemplateBases.Pages.PageBase 2 @using System.IO 3 @using System.Web 4 @using System.Globalization 5 @using Co3.Espresso.Website.Services 6 @using Dynamicweb.Frontend 7 @using Dynamicweb.Ecommerce.Common 8 @using Dynamicweb.Security.UserManagement 9 @{ 10 bool isUserAuthenticated = User.IsExtranetUserLoggedIn(); 11 string globalAreaLang = PageView.Current().Area.CultureInfo.TwoLetterISOLanguageName; 12 int globalAreaId = PageView.Current().Area.ID; 13 CultureInfo currencyCulture = new CultureInfo(Context.Currency.CultureInfo); 14 string currencySeparatorDecimal = currencyCulture.NumberFormat.NumberDecimalSeparator; 15 string currencySeparatorInteger = currencyCulture.NumberFormat.NumberGroupSeparator; 16 string openGraphUrl = PageView.Current().SearchFriendlyUrl; 17 18 bool loadGoogleTagManager = !string.IsNullOrEmpty(Espresso.Area.GoogleTagManagerID) && 19 !(Espresso.Area.Item.GoogleTagManagerDisableIfPerformanceTestIsDetected == "True" && HttpContext.Current.Request.UserAgent.ToLower().Contains("lighthouse")); 20 string hasCookiebot = PageView.Current().Area.Item["Cookiebot"]?.ToString(); 21 22 bool isProduct = !string.IsNullOrEmpty(HttpContext.Current.Request["productId"]); 23 24 string profileProductCompanyName = RenderSnippet("profileProductCompanyName").ToString(); 25 string profileProductCompanyDescription = RenderSnippet("profileProductCompanyDescription").ToString(); 26 string profileProductCompanyLogo = RenderSnippet("profileProductCompanyLogo").ToString(); 27 28 string openGraphTitle = isProduct ? profileProductCompanyName : Espresso.OpenGraphTitle; 29 string openGraphDescription = isProduct ? profileProductCompanyDescription : Espresso.OpenGraphDescription; 30 string metaDescription = isProduct ? profileProductCompanyDescription : Espresso.DynamicwebPage.Description; 31 32 string openGraphImage = isProduct ? HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host + profileProductCompanyLogo : HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host + Espresso.OpenGraphImage; 33 34 bool isLoppeOgStumpemarkedDA = globalAreaId == 46; 35 bool isHestOgRytterDA = globalAreaId == 37; 36 bool isFerieForAlleDA = globalAreaId == 36; 37 bool isFormlandDA = globalAreaId == 28; 38 bool isFoodtechDA = globalAreaId == 24; 39 bool isGameboxDA = globalAreaId == 43; 40 bool isAgromekDA = globalAreaId == 25; 41 bool isFoodexpoDA = globalAreaId == 38; 42 bool isElbilmessenDA = globalAreaId == 56; 43 bool isAutomatikmesseDA = globalAreaId == 42; 44 bool isDaloDA = globalAreaId == 59; 45 bool isDaloEN = globalAreaId == 60; 46 47 48 } 49 <!DOCTYPE html> 50 <html lang="@globalAreaLang" data-separator-integer="@currencySeparatorInteger" data-separator-decimal="@currencySeparatorDecimal"> 51 <head> 52 53 @GetValue("CopyRightNotice") 54 <meta charset="utf-8"> 55 <meta content="width=device-width, initial-scale=1, shrink-to-fit=no, minimal-ui" name="viewport"> 56 <meta content="ie=edge" http-equiv="x-ua-compatible"> 57 <link href="https://cdnjs.cloudflare.com" rel="preconnect"> 58 <link href="https://www.googletagmanager.com" rel="preconnect"> 59 <link href="https://www.google-analytics.com" rel="preconnect"> 60 <link href="https://connect.facebook.net" rel="preconnect"> 61 <title>@GetValue("Title")</title> 62 @Espresso.CriticalCSS 63 @RenderingService.Instance.PartialView("_partials/webfonts.cshtml", Espresso) 64 <link href="/Files/Templates/Designs/exhibition_site/_assets/_dist/css/default.css?v=2.8.6" media="@Espresso.StylesheetAttributeMedia" rel="@Espresso.StylesheetAttributeRel" as="style"> 65 @Espresso.CriticalJS 66 <link rel="shortcut icon" href="@Espresso.Area.Item.Favicon"> 67 <meta name="description" content="@metaDescription"> 68 @GetValue("MetaTags") 69 @if (Espresso.IsStagingUrl) 70 { 71 <meta content="noindex,nofollow" name="robots"> 72 } 73 <meta property="og:url" content="@openGraphUrl"> 74 <meta property="og:title" content="@openGraphTitle"> 75 <meta property="og:description" content="@openGraphDescription"> 76 <meta property="og:image" content="@openGraphImage"> 77 <meta property="og:type" content="website"> 78 @if (isFerieForAlleDA) 79 { 80 <meta name="p:domain_verify" content="cd4725e805acd772d7cf78e56bc9d58b"> 81 } 82 @if (string.IsNullOrEmpty(Espresso.Area.Item.GoogleSiteVerification) == false) 83 { 84 <meta name="google-site-verification" content="@Espresso.Area.Item.GoogleSiteVerification"> 85 } 86 87 @if (loadGoogleTagManager) 88 { 89 <!-- Google Tag Manager --> 90 <script data-cookieconsent="ignore"> 91 (function (w, d, s, l, i) { 92 w[l] = w[l] || []; 93 w[l].push({ 94 'gtm.start': 95 new Date().getTime(), 96 event: 'gtm.js' 97 }); 98 var f = d.getElementsByTagName(s)[0], 99 j = d.createElement(s), 100 dl = l != 'dataLayer' ? '&l=' + l : ''; 101 j.async = true; 102 j.src = 103 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 104 f.parentNode.insertBefore(j, f); 105 })(window, document, 'script', 'dataLayer', '@Espresso.Area.GoogleTagManagerID'); 106 </script> 107 <!-- End Google Tag Manager --> 108 } 109110 <script data-cookieconsent="ignore" src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js"></script> 111 <script data-cookieconsent="ignore" src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollTrigger.min.js"></script> 112113 @if (isFormlandDA) 114 { 115 // Chatbot 116 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="69d4df4f659e985b0ffba609" async="" domain="www.formland.dk"></script> 117 } 118 @if (isFerieForAlleDA) 119 { 120 // Chatbot 121 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="69899f7cda2a82fa85814adc" async="" domain="www.ferieforalle.dk"></script> 122 } 123 @if (isHestOgRytterDA) 124 { 125 // Chatbot 126 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="69899f70da2a82fa85814ac9" async="" domain="www.hestogrytter.dk"></script> 127 } 128 @if (isLoppeOgStumpemarkedDA) 129 { 130 // Chatbot 131 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6992eef5172e28e2162f5d75" async="" domain="www.loppeogstumpemarked.dk"></script> 132 } 133 @if (isFoodtechDA) 134 { 135 // Chatbot 136 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6992ef1c172e28e2162f5d93" async="" domain="www.foodtech.dk"></script> 137 } 138 @if (isGameboxDA) 139 { 140 // Chatbot 141 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6992ef25172e28e2162f5d9d" async="" domain="www.gameboxfestival.dk"></script> 142 } 143 @if (isAgromekDA) 144 { 145 // Chatbot 146 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6992ef31172e28e2162f5da6" async="" domain="www.agromek.dk"></script> 147 } 148 @if (isElbilmessenDA) 149 { 150 // Chatbot 151 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6992ef52172e28e2162f5dc5" async="" domain="www.elbilmessen.dk"></script> 152 } 153 @if (isFoodexpoDA) 154 { 155 // Chatbot 156 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6992ef3b172e28e2162f5db2" async="" domain="www.foodexpo.dk"></script> 157 } 158 @if (isAutomatikmesseDA) 159 { 160 // Chatbot 161 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="69d4dfa2659e985b0ffba64f" async="" domain="www.automatikmesse.dk"></script> 162 } 163 @if (isDaloDA) 164 { 165 // Chatbot 166 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6a16ee78538b2ff02d0854eb" async="" domain="www.daloindustrydays.dk"></script> 167 } 168 @if (isDaloEN) 169 { 170 // Chatbot 171 <script src="https://files.userlink.ai/public/embed.min.js" charset="utf-8" id="bai-scr-emb" data-cid="6a16ee84538b2ff02d0854ff" async="" domain="www.daloindustrydays.com"></script> 172 } 173174 @if (isFoodexpoDA) 175 { 176 <!-- Adform Tracking Code BEGIN --> 177 <script type="text/javascript"> 178 window._adftrack = Array.isArray(window._adftrack) ? window._adftrack : (window._adftrack ? [window._adftrack] : []); 179 window._adftrack.push({ 180 HttpHost: 'track.adform.net', 181 pm: 4033194 182 }); 183 (function () { 184 var s = document.createElement('script'); 185 s.type = 'text/javascript'; 186 s.async = true; 187 s.src = 'https://s2.adform.net/banners/scripts/st/trackpoint-async.js'; 188 var x = document.getElementsByTagName('script')[0]; 189 x.parentNode.insertBefore(s, x); 190 })(); 191 </script> 192 <!-- Adform Tracking Code END --> 193 } 194 <script type="text/javascript"> 195 let widgets = []; 196197 function onLoadRecaptcha() { 198 document.querySelectorAll('.g-recaptcha').forEach(function (el, index) { 199 let form = el.closest('form'); 200 let widgetId = grecaptcha.render(el, { 201 'sitekey': el.dataset.sitekey, 202 'callback': function () { 203 onCaptchaCompleted(widgetId); 204 } 205 }); 206207 widgets.push({ 208 widgetId: widgetId, 209 form: form 210 }); 211 }); 212 } 213214 function onCaptchaCompleted(widgetId) { 215 const widget = widgets.find(w => w.widgetId === widgetId); 216 if (widget && widget.form) { 217 let form = widget.form; 218 const hiddenField = form.querySelector('input[name="reCAPTCHA"]'); 219 hiddenField.value = 1; 220 hiddenField.dispatchEvent(new Event('input')); 221 hiddenField.checkValidity(); 222 form.querySelector('.g-recaptcha').classList.remove('has-error'); 223 } 224 } 225 </script> 226 <script src="https://www.google.com/recaptcha/api.js?onload=onLoadRecaptcha&render=explicit" async="" defer=""></script> 227228 </head> 229230 <body class="@Espresso.Item.CustomClasses" data-is-user-authenticated="@isUserAuthenticated.ToString().ToLower()" data-design="@Espresso.Area.DesignsFolderName"> 231 @if (loadGoogleTagManager) 232 { 233 <!-- Google Tag Manager (noscript) --> 234 <noscript> 235 <iframe src="https://www.googletagmanager.com/ns.html?id=@Espresso.Area.GoogleTagManagerID" height="0" width="0" style="display: none; visibility: hidden"></iframe> 236 </noscript> 237 <!-- End Google Tag Manager (noscript) --> 238 } 239 @if (isFoodexpoDA) 240 { 241 <!-- Adform Tracking Code BEGIN --> 242 <noscript> 243 <p style="margin:0;padding:0;border:0;"> 244 <img src="https://track.adform.net/Serving/TrackPoint/?pm=4033194" width="1" height="1" alt=""> 245 </p> 246 </noscript> 247 <!-- Adform Tracking Code END --> 248 } 249 <noscript> 250 <p style="margin:0;padding:0;border:0;"> 251 <img src="https://track.adform.net/Serving/TrackPoint/?pm=4033194" width="1" height="1" alt=""> 252 </p> 253 </noscript> 254255 @using System.Text.RegularExpressions 256 @using Co3.Espresso.Website.Models.FrontEnd 257 @using Co3.Espresso.Website.Models.FrontEnd.Settings 258 @using Co3.Espresso.Website.Services 259 @using Co3.MCH.Website.Frontend.Helpers 260 @using Co3.MCH.Website.Frontend.Models.Frontend 261 @inherits Co3.Espresso.Website.TemplateBases.Pages.PageBase 262 @{ 263 Espresso.Canvas.Classes.AddClasses( "js-e-canvas is-loading" ); 264 if ( Espresso.Item.CanvasFullscreen == "True" ) 265 { 266 Espresso.Canvas.Classes.AddClasses( "is-fullscreen" ); 267 } 268269 if ( Espresso.Item.HeaderTransparent == "True" ) 270 { 271 Espresso.Canvas.Classes.AddClasses( "header-is-transparent" ); 272 } 273274 } 275276277278 @{ 279280 Regex hexcodeRegex = new Regex(@"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"); 281 string exhibitionColorPrimary = hexcodeRegex.IsMatch( MCH365Context.Current.TradeShowDetails.PrimaryColor ) ? MCH365Context.Current.TradeShowDetails.PrimaryColor : "#000000"; 282 string exhibitionColorSecondary = hexcodeRegex.IsMatch( MCH365Context.Current.TradeShowDetails.SecondaryColor ) ? MCH365Context.Current.TradeShowDetails.SecondaryColor : "#000000"; 283 string exhibitionColorTertiary = hexcodeRegex.IsMatch( MCH365Context.Current.TradeShowDetails.TertiaryColor ) ? MCH365Context.Current.TradeShowDetails.TertiaryColor : "#000000"; 284285 ColorHelper.HSL brandPrimary = ColorHelper.Instance.HexToHsl(exhibitionColorPrimary); 286 ColorHelper.HSL brandSecondary = ColorHelper.Instance.HexToHsl(exhibitionColorSecondary); 287 ColorHelper.HSL brandTertiary = ColorHelper.Instance.HexToHsl(exhibitionColorTertiary); 288289 } 290291 <style> 292 :root { 293 --primary-color: @brandPrimary.ToString(); 294 --primary-color-darken: @brandPrimary.Darken(10).ToString(); 295296 --secondary-color: @brandSecondary.ToString(); 297 --secondary-color-darken: @brandSecondary.Darken(10).ToString(); 298299 --tertiary-color: @brandTertiary.ToString(); 300 --tertiary-color-darken: @brandTertiary.Darken(10).ToString(); 301302 --exhibition-profile-primary-brand-color: hsl(var(--primary-color)); 303 --exhibition-profile-secondary-brand-color: hsl(var(--secondary-color)); 304 --exhibition-profile-tertiary-brand-color: hsl(var(--tertiary-color)); 305306 --exhibition-profile-primary-brand-color-darken: hsl(var(--primary-color-darken)); 307 --exhibition-profile-secondary-brand-color-darken: hsl(var(--secondary-color-darken)); 308 --exhibition-profile-tertiary-brand-color-darken: hsl(var(--tertiary-color-darken)); 309 } 310 </style> 311312313314 <div class="e-loading-overlay e-page-loading-overlay is-loading js-e-page-loading-overlay"> 315 @RenderingService.Instance.PartialView( "_partials/loading-spinner.cshtml" ) 316 </div> 317318 <div class="@Espresso.Canvas.Classes"> 319320 @*<a href="#dwcontentmain" class="custom-skiptocontent">@Translate("Gå til sidens indhold")</a>*@ 321322 @RenderingService.Instance.PartialView("_partials/header.cshtml", Espresso) 323 @RenderingService.Instance.PartialView("usermanagement/viewprofile/espresso-impersonate-user-msg.cshtml", Espresso) 324 <main id="dwcontentmain" tabindex="-1" role="main" class="e-content js-e-content @Espresso.ContentArea.Classes"> 325326 <article class="e-content-article"> 327 @RenderingService.Instance.PartialView("_partials/nav-local-vertical.cshtml", Espresso) 328 @RenderingService.Instance.SectionStart(new SectionSettings()) 329 @GetValue("DwContent(dwcontentmain)") 330 @RenderingService.Instance.SectionEnd() 331 </article> 332 </main> 333334 @RenderingService.Instance.PartialView("_partials/footer.cshtml", Espresso) 335336 @if (!string.IsNullOrEmpty(GetString("DwContent(dwcontentcta)"))) 337 { 338 <aside class="e-cta fixed-top is-hidden js-e-cta" id="dwcontentcta"> 339 @RenderingService.Instance.SectionStart(new SectionSettings 340 { 341 ContentClasses = new ClassList("col-12"), 342 OuterRowClasses = new ClassList("row no-gutters"), 343 InnerRowClasses = new ClassList("row no-gutters justify-content-center align-items-center") 344 }) 345 @GetValue("DwContent(dwcontentcta)") 346 @RenderingService.Instance.SectionEnd() 347348 </aside> 349 } 350351 @RenderingService.Instance.PartialView("ecom7/cartv2/step/espresso-cart-msg.cshtml") 352 </div> 353354 @RenderingService.Instance.PartialView( "_partials/search.cshtml", Espresso ) 355356 @RenderingService.Instance.PartialView( "_partials/back-to-top.cshtml", Espresso ) 357358 @if ( 1 == 2 ) 359 { 360 @GetValue("DwCookieWarning") 361 } 362363364 <script data-cookieconsent="ignore" async="" src="/Files/Templates/Designs/exhibition_site/_assets/_dist/js/default.js?v=1.10.4"></script> 365366367 </body> 368369 @GetValue("CopyRightNotice") 370 </html>