Error executing template "Designs/Danespo/_parsed/Page.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_38f6c8ab2999419086757537b90c20a2.Execute() in D:\Sites\danespoDW\Application_9.7.4\Files\Templates\Designs\Danespo\_parsed\Page.parsed.cshtml:line 278
   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.b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @using System; 2 @using System.Web; 3 @using Dynamicweb; 4 @using Dynamicweb.Environment; 5 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6 @using Dynamicweb; 7 8 @helper RenderFacebookScript() 9 { 10 <div id="fb-root"></div> 11 <script> 12 (function (d, s, id) { 13 var js, fjs = d.getElementsByTagName(s)[0]; 14 if (d.getElementById(id)) return; 15 js = d.createElement(s); js.id = id; 16 js.src = "//connect.facebook.net/da_DK/sdk.js#xfbml=1&version=v2.8"; 17 fjs.parentNode.insertBefore(js, fjs); 18 }(document, 'script', 'facebook-jssdk'));</script> 19 } 20 @using Dynamicweb; 21 @helper RenderFacebookShare() 22 { 23 bool sharePageFB = GetBoolean("Item.Page.SharePageOnFacebook"); 24 var pageViewUrlForSharing = Dynamicweb.Environment.Helpers.LinkHelper.GetHttpDomain() + Pageview.SearchFriendlyUrl; 25 26 if (sharePageFB) 27 { 28 <div class="fb-share-button" data-href='@pageViewUrlForSharing' data-layout="button" data-size="small" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2Fplugins%2F&amp;src=sdkpreparse">Del</a></div> 29 } 30 } 31 32 @SnippetStart("Meta") 33 @{ 34 string sharePageImage = Dynamicweb.Environment.Helpers.LinkHelper.GetHttpDomain() + GetString("Item.Page.ImageForSharing"); 35 string title = GetString("Title"); 36 string description = GetString("Meta.Description"); 37 var pageViewUrlForSharing = Dynamicweb.Environment.Helpers.LinkHelper.GetHttpDomain() + Pageview.SearchFriendlyUrl; 38 39 <meta property="fb:app_id" content="966242223397117"> /* default facebook app-id */ 40 <meta property="og:title" content='@title'> 41 <meta property="og:type" content="article"> 42 if (!string.IsNullOrEmpty(GetString("Item.Page.ImageForSharing"))) 43 { 44 <meta property="og:image" content='@sharePageImage'> 45 } 46 <meta property="og:url" content='@pageViewUrlForSharing'> 47 <meta property="og:description" content="@description"> 48 } 49 @SnippetEnd("Meta") 50 @{ 51 var designBaseUrl = GetString("Template:DesignBaseUrl").TrimEnd('/'); 52 List<LoopItem> languages = GetLoop("WebsiteLanguages"); 53 54 bool isAlternativeSite = GetBoolean("Item.Area.IsAlternativeSite"); 55 string languageTag = GetGlobalValue("Global:Area.Lang").ToLower(); 56 } 57 <!DOCTYPE html> 58 <html lang="@languageTag"> 59 <head> 60 <title>@GetValue("Title")</title> 61 @GetValue("MetaTags") 62 @GetValue("CopyRightNotice") 63 64 <meta charset="utf-8"> 65 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 66 <meta http-equiv="x-ua-compatible" content="ie=edge"> 67 @RenderSnippet("Meta") 68 <link rel="stylesheet" href="@designBaseUrl/Assets/Styles/Main.min.css?v.2.14"> 69 <link rel="stylesheet" href="@designBaseUrl/Assets/Styles/co3-custom.css?v=1.02"> 70 @RenderSnippet("Styling") 71 72 @{ 73 string alternativeColor = Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["AlternativeColor"]); 74 75 if (!string.IsNullOrEmpty(alternativeColor)) 76 { 77 <style type="text/css"> 78 .content-row-wrapper .content-row-content-wrapper .content-row-content.style2 .content-row-link-alternative { 79 background-color: @alternativeColor; 80 } 81 </style> 82 } 83 } 84 85 <!-- Google Tag Manager --> 86 <script> 87 (function (w, d, s, l, i) { 88 w[l] = w[l] || []; w[l].push( 89 { 'gtm.start': new Date().getTime(), event: 'gtm.js' } 90 ); var f = d.getElementsByTagName(s)[0], 91 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 92 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 93 })(window, document, 'script', 'dataLayer', 'GTM-NWHDKFK'); 94 </script> 95 <!-- End Google Tag Manager --> 96 @GetValue("Stylesheets") 97 @GetValue("Javascripts") 98 </head> 99 <body> 100 <!-- Google Tag Manager (noscript) --> 101 <noscript> 102 <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NWHDKFK" height="0" width="0" style="display:none;visibility:hidden"></iframe> 103 </noscript> 104 <!-- End Google Tag Manager (noscript) --> 105 <div class="wrapper"> 106 <div class="page"> 107 108 <header class="header"> 109 <div class="header-topline hidden-sm-down"> 110 <div class="container"> 111 <div class="row"> 112 <div class="col-md-12 header-tabs"> 113 @if (languageTag == "da") 114 { 115 if (isAlternativeSite) 116 { 117 <span class="tab active-tab">@Translate("Smartpage:Header.Sites.Site1", "Forbruger")</span> 118 <a href='@GetValue("Item.Area.AlternativeSite")' class="tab ">@Translate("Smartpage:Header.Sites.Site2", "Erhverv")</a> 119 } 120 else 121 { 122 <a href='@GetValue("Item.Area.AlternativeSite")' class="tab">@Translate("Smartpage:Header.Sites.Site1", "Forbruger")</a> 123 <span class="tab active-tab">@Translate("Smartpage:Header.Sites.Site2", "Erhverv")</span> 124 } 125 } 126 127 128 </div> 129 <div class="col-md-12 header-lang-select"> 130 @if (languages.Any() && Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["LanguageActive"]) == "True") 131 { 132 <div class="dropdown"> 133 <button class="dropdown-button" type="button" id="desktopLangSelect" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 134 @languages.FirstOrDefault(l => l.GetBoolean("IsCurrent")).GetString("Name") 135 </button> 136 <div class="dropdown-menu" aria-labelledby="desktopLangSelect"> 137 @foreach (var language in languages) 138 { 139 string url = "/Default.aspx?id=" + language.GetValue("FirstPageID"); //for pretty urls 140 string isMaster = language.GetBoolean("IsMaster") ? "js-langmaster" : ""; 141 142 <a href="@url" class="dropdown-item @isMaster"> 143 @language.GetValue("Name") 144 </a> 145 } 146 </div> 147 </div> 148 } 149 </div> 150 </div> 151 </div> 152 </div> 153 154 <div class="header-topbar"> 155 <div class="container"> 156 <div class="row"> 157 <div class="col-xs-18 col-sm-8 col-md-3 col-lg-3 header-logo"> 158 <a href='@GetValue("Item.Area.SiteFrontpage")' class="header-logo-link"> 159 <img src='@Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["Logo"])' class="img-fluid hidden-md-up" alt='@Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["SiteName"])'> 160 <img src='@Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["LogoLarge"])' class="img-fluid hidden-sm-down" alt='@Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["SiteName"])'> 161 </a> 162 </div> 163 164 <div class="col-xs-6 col-sm-16 hidden-md-up header-hamburger"> 165 <button class="hamburger hamburger--slider js-navigation-toggle" type="button"> 166 <span class="hamburger-box"> 167 <span class="hamburger-inner"></span> 168 </span> 169 </button> 170 </div> 171 172 <div class="col-xs-24 col-sm-24 col-md-21 col-lg-21 header-navigation"> 173 <div class="navigation js-navigation"> 174 175 <div class="header-topline hidden-md-up"> 176 <div class="container"> 177 <div class="row"> 178 <div class="col-xs-14 header-tabs"> 179 @if (isAlternativeSite) 180 { 181 <span class="tab active-tab">@Translate("Smartpage:Header.Sites.Site1", "Forbruger")</span> 182 <a href='@GetValue("Item.Area.AlternativeSite")' class="tab ">@Translate("Smartpage:Header.Sites.Site2", "Erhverv")</a> 183 } 184 else 185 { 186 <a href='@GetValue("Item.Area.AlternativeSite")' class="tab">@Translate("Smartpage:Header.Sites.Site1", "Forbruger")</a> 187 <span class="tab active-tab">@Translate("Smartpage:Header.Sites.Site2", "Erhverv")</span> 188 } 189 </div> 190 <div class="col-xs-10 header-lang-select"> 191 @if (languages.Any() && !isAlternativeSite) 192 { 193 <div class="dropdown"> 194 <button class="dropdown-button" type="button" id="mobileLangSelect" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 195 @languages.FirstOrDefault(l => l.GetBoolean("IsCurrent")).GetString("Name") 196 </button> 197 <div class="dropdown-menu" aria-labelledby="mobileLangSelect"> 198 @foreach (var language in languages) 199 { 200 <a href='/Default.aspx?id=@language.GetValue("FirstPageID")' class="dropdown-item"> 201 @language.GetValue("Name") 202 </a> 203 } 204 </div> 205 </div> 206 } 207 </div> 208 </div> 209 </div> 210 </div> 211 212 <div class="navigation-wrap"> 213 @GetValue("DwNavigation(mainnavigation)") 214 </div> 215 216 </div> 217 </div> 218 219 </div> 220 </div> 221 222 </div> 223 </header> 224 225 <div class="content-wrapper"> 226 @using System; 227 @using System.Web; 228 @using System.Linq; 229 @using Dynamicweb; 230 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 231 @{ 232 string topbanner = GetString( "DwContent(TopBanner)" ); 233 string topbannerCheck = ""; 234 if ( topbanner != "") { 235 topbannerCheck = "topbanner-active"; 236 } 237 } 238 239 240 @using System; 241 @using System.Web; 242 @using Dynamicweb; 243 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 244 245 @helper RenderBreadcrumbs() 246 { 247 248 if ((Pageview.Page.PropertyItem != null && Dynamicweb.Core.Converter.ToBoolean(Pageview.Page.PropertyItem["ShowBreadcrumbsOnPage"])) && Dynamicweb.Core.Converter.ToBoolean(Pageview.Area.Item["ShowBreadcrumbsOnWebsite"])) 249 { 250 @GetValue("DwNavigation(mainbreadcrumbs)") 251 } 252 } 253 <div class="topbanner-carousel" id="TopBanner">@GetValue("DwContent(TopBanner)")</div> 254 <div class="container @topbannerCheck"> 255 @RenderFacebookShare() 256 257 <div class="row page-row"> 258 <div class="col-xs-24 col-sm-24 col-md-16 col-lg-18"> 259 260 <div class="page-content"> 261 <ul class="breadcrumbs" itemscope="" itemtype="http://schema.org/ListItem"> 262 @RenderBreadcrumbs() 263 264 </ul> 265 <div id="content">@GetValue("DwContent(content)")</div> 266 267 </div> 268 </div> 269 <div class="col-xs-24 col-sm-24 col-md-8 col-lg-6"> 270 <div class="page-side" id="side">@GetValue("DwContent(side)")</div> 271 </div> 272 </div> 273 </div> 274 275 276 @SnippetStart("Styling") 277 @{ 278 string backgroundImagePath = Dynamicweb.Core.Converter.ToString(Pageview.Page.PropertyItem["BackgroundImage"]); 279 string backgroundImage = "url('" + backgroundImagePath + "')"; 280 } 281 @if (!string.IsNullOrEmpty(backgroundImagePath)) 282 { 283 <style type="text/css"> 284 body { 285 background-image: @backgroundImage; 286 } 287 </style> 288 } 289 @SnippetEnd("Styling") 290 </div> 291 292 </div> 293 294 </div> 295 296 <footer class="footer"> 297 <div class="container"> 298 <div class="row"> 299 <div class="col-xs-24 col-sm-24 col-md-6"> 300 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["Footer_Col_1"]))) 301 { 302 @Pageview.Area.Item["Footer_Col_1"] 303 } else { 304 <h4 class="h4">@Translate("Smartpage:Footer.List.Header.CompanyName", "Danespo A/S")</h4> 305 <ul class="list"> 306 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["CompanyAddress"]))) 307 { 308 <li class="list-item">@Pageview.Area.Item["CompanyAddress"]</li> 309 } 310 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["CompanyPhone"]))) 311 { 312 <li class="list-item">@Translate("Smartpage:Footer.CompanyInfo.Phone", "Telefon:") @Pageview.Area.Item["CompanyPhone"]</li> 313 } 314 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["CompanyEmail"]))) 315 { 316 <li class="list-item">@Translate("Smartpage:Footer.CompanyInfo.Email", "Email:") @Pageview.Area.Item["CompanyEmail"]</li> 317 } 318 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["CompanyNo"]))) 319 { 320 <li class="list-item">@Translate("Smartpage:Footer.CompanyInfo.CompanyNo", "CVR nr.") @Pageview.Area.Item["CompanyNo"]</li> 321 } 322 </ul> 323 } 324 </div> 325 <div class="col-xs-24 col-sm-24 col-md-6"> 326 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["Footer_Col_2"]))) 327 { 328 @Pageview.Area.Item["Footer_Col_2"] 329 } else { 330 <h4 class="h4">@Translate("Smartpage:Footer.List.Header.Production", "Produktion")</h4> 331 @GetValue("DwNavigation(footerlist1)") 332 } 333 </div> 334 <div class="col-xs-24 col-sm-24 col-md-6"> 335 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["Footer_Col_3"]))) 336 { 337 @Pageview.Area.Item["Footer_Col_3"] 338 } else { 339 <h4 class="h4">@Translate("Smartpage:Footer.List.Header.Profile", "Om os")</h4> 340 @GetValue("DwNavigation(footerlist2)") 341 } 342 </div> 343 <div class="col-xs-24 col-sm-24 col-md-6"> 344 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["Footer_Col_4"]))) 345 { 346 @Pageview.Area.Item["Footer_Col_4"] 347 } else { 348 <h4 class="h4">@Translate("Smartpage:Footer.List.Header.Links", "Links")</h4> 349 <ul class="list inline"> 350 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["FacebookLink"]))) 351 { 352 <li class="list-item"> 353 <a href='@Pageview.Area.Item["FacebookLink"]' target="_blank" class="list-item-link facebook"></a> 354 </li> 355 } 356 @if (!string.IsNullOrEmpty(Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["SmileyLink"]))) 357 { 358 string smileyLink = Dynamicweb.Core.Converter.ToString(Pageview.Area.Item["SmileyLink"]); 359 <li class="list-item"> 360 <a href="@smileyLink" target="_blank" class="list-item-link smiley"></a> 361 </li> 362 } 363 </ul> 364 } 365 </div> 366 </div> 367 </div> 368 </footer> 369 370 <script> 371 (function (d) { 372 var config = { 373 kitId: 'znw6ggx', 374 scriptTimeout: 3000, 375 async: true 376 }, 377 h = d.documentElement, t = setTimeout(function () { h.className = h.className.replace(/\bwf-loading\b/g, "") + " wf-inactive"; }, config.scriptTimeout), tk = d.createElement("script"), f = false, s = d.getElementsByTagName("script")[0], a; h.className += " wf-loading"; tk.src = 'https://use.typekit.net/' + config.kitId + '.js'; tk.async = true; tk.onload = tk.onreadystatechange = function () { a = this.readyState; if (f || a && a != "complete" && a != "loaded") return; f = true; clearTimeout(t); try { Typekit.load(config) } catch (e) { } }; s.parentNode.insertBefore(tk, s) 378 })(document); 379 </script> 380 381 <script src='@designBaseUrl/Assets/Scripts/Main.min.js?v.1.6'></script> 382 @RenderSnippet("JavaScript") 383 <div id="fb-root"></div> 384 <script> 385 (function (d, s, id) { 386 var js, fjs = d.getElementsByTagName(s)[0]; 387 if (d.getElementById(id)) return; 388 js = d.createElement(s); js.id = id; 389 js.src = "//connect.facebook.net/da_DK/sdk.js#xfbml=1&version=v2.8"; 390 fjs.parentNode.insertBefore(js, fjs); 391 }(document, 'script', 'facebook-jssdk'));</script> 392 393 </body> 394 </html> 395