Error executing template "Designs/TwenteBranding/_parsed/GoalList.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at TwenteBranding.Repository.Helpers.ItemHelper.GetTwenteBrandingItemForPage(String itemId, String itemPageId, String culture, PageService pageService, ItemService itemService, Boolean useParent) in D:\agent_1\_work\66\s\TwenteBranding.Repository\Helpers\ItemHelper.cs:line 285
at CompiledRazorTemplates.Dynamic.RazorEngine_4dfc13fcba5845bc9111f7a2d0054bdb.Execute() in D:\inetpub\wwwroot\www.twente.com\Files\Templates\Designs\TwenteBranding\_parsed\GoalList.parsed.cshtml:line 471
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 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 2 @using TwenteBranding.Repository.Helpers 3 4 @{ 5 Title("Master view model template"); 6 Description("Master view model template"); 7 var currentPageView = Dynamicweb.Frontend.PageView.Current(); 8 var contentLanguage = currentPageView.GlobalTags.GetTagByName("Global:Area.Lang").Value; 9 var scheme = currentPageView.GlobalTags.GetTagByName("Global:Request.Scheme").Value; 10 var host = currentPageView.GlobalTags.GetTagByName("Global:Request.Host").Value; 11 var requestHost = string.Format("{0}://{1}", scheme, host); 12 var metaDescription = Model.Description; 13 var metaKeywords = Model.Keywords; 14 15 var appJs = FileHelper.GetFilenameWithTimeStamp("/Files/Templates/Designs/TwenteBranding/js/app.min.js"); 16 var appCss = FileHelper.GetFilenameWithTimeStamp("/Files/Templates/Designs/TwenteBranding/css/main.min.css"); 17 18 <!DOCTYPE html> 19 <html lang="@contentLanguage"> 20 <head> 21 <title>@Model.Title</title> 22 @if (!string.IsNullOrWhiteSpace(metaDescription)) 23 { 24 <meta name="description" content="@metaDescription" /> 25 } 26 @if (!string.IsNullOrWhiteSpace(metaKeywords)) 27 { 28 <meta name="keywords" content="@metaKeywords" /> 29 } 30 <meta http-equiv="content-language" content='@contentLanguage' /> 31 <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 32 <meta http-equiv="imagetoolbar" content="no" /> 33 <meta http-equiv="x-dns-prefetch-control" content="on" /> 34 <meta http-equiv="x-ua-compatible" content="ie=edge" /> 35 <meta name="viewport" content="width=device-width,initial-scale=1"> 36 <meta name="application-name" content="innovadis.com" /> 37 <meta name="author" content="Innovadis BV, Enschede" /> 38 <meta name="copyright" content='Innovadis BV, Enschede, @DateTime.Now.Year' /> 39 <meta name="web_author" content="Innovadis BV, Enschede" /> 40 <link rel="dns-prefetch" href='@requestHost' /> 41 <link rel="icon" href="/favicon.ico" type="image/x-icon" /> 42 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> 43 <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" type="text/css" rel="stylesheet" /> 44 <link rel="stylesheet" type="text/css" href="@appCss" /> 45 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Ubuntu:300i,400,500,700&display=swap" rel="stylesheet"> 46 @{ var gaHeadCode = TwenteBranding.Repository.Helpers.AreaHelper.GetAreaItemStringValueBySystemName(TwenteBranding.Models.Constants.StringConstants.WebsiteSettings.Analytics.GoogleAnalyticsTrackingCode); 47 if (!string.IsNullOrWhiteSpace(gaHeadCode)) 48 { 49 <script> 50 (function (i, s, o, g, r, a, m) { 51 i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { 52 (i[r].q = i[r].q || []).push(arguments) 53 }, i[r].l = 1 * new Date(); a = s.createElement(o), 54 m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) 55 })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 56 57 ga('create', '@gaHeadCode', 'auto'); 58 ga('send', 'pageview'); 59 </script> 60 } 61 } 62 @{ var gtmHeadCode = TwenteBranding.Repository.Helpers.AreaHelper.GetAreaItemStringValueBySystemName(TwenteBranding.Models.Constants.StringConstants.WebsiteSettings.Analytics.GoogleTagManagerTrackingCode); 63 if (!string.IsNullOrWhiteSpace(gtmHeadCode)) 64 { 65 <script> 66 (function (w, d, s, l, i) { 67 w[l] = w[l] || []; w[l].push({ 68 'gtm.start': 69 new Date().getTime(), event: 'gtm.js' 70 }); var f = d.getElementsByTagName(s)[0], 71 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 72 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 73 })(window, document, 'script', 'dataLayer', '@gtmHeadCode');</script> 74 } 75 } 76 @RenderSnippet("HeadSection") 77 78 @* Print alternate links and content-language meta tags *@ 79 @LanguageHelper.GetMasterLanguageTags(Model.ID) 80 </head> 81 <body> 82 @{ var gtmBodyCode = TwenteBranding.Repository.Helpers.AreaHelper.GetAreaItemStringValueBySystemName(TwenteBranding.Models.Constants.StringConstants.WebsiteSettings.Analytics.GoogleTagManagerTrackingCode); 83 if (!string.IsNullOrWhiteSpace(gtmBodyCode)) 84 { 85 var gtmUrl = string.Format("https://www.googletagmanager.com/ns.html?id={0}", gtmBodyCode); 86 <noscript> 87 <iframe src="@gtmUrl" height="0" width="0" style="display:none;visibility:hidden"></iframe> 88 </noscript> 89 } 90 } 91 <main class="twentebranding-container"> 92 @using Dynamicweb.Content 93 @using Dynamicweb.Ecommerce.International 94 @using TwenteBranding.Repository.Helpers 95 @using Page = System.Web.UI.Page 96 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 97 @{ 98 var websiteLanguages = Model.Area.Languages; 99 List<Dynamicweb.Content.Page> topNavigationPages = null; 100 101 int topNavigationFolderId = GetPageIdByNavigationTag("TopNavigation"); 102 if (topNavigationFolderId > 0) 103 { 104 var pageService = new Dynamicweb.Content.PageService(); 105 var topNavigationPageList = pageService.GetPagesByParentID(topNavigationFolderId); 106 if (topNavigationPageList != null && topNavigationPageList.Any()) 107 { 108 topNavigationPages = topNavigationPageList.Where(p => p.Active).ToList(); 109 } 110 } 111 112 var homelinkImage = IconHelper.GetSvgPath("twente", "logo/"); 113 114 <div id="homelink"> 115 <a href="/" target="_top" title="@string.Format(" {0}: {1}", Translate("LinkTitlePrefix", "Navigeer naar" ), Translate("Homelink_Title", "De homepage" )).JsEncode()"><img src="@homelinkImage" alt="@Translate(" Homelink_ImageAlt", "Image met het Twentse Ros die onclick naar de homepge navigeert" )" /></a> 116 </div> 117 118 var searchResultsPageId = AreaHelper.GetAreaItemStringValueBySystemName(TwenteBranding.Models.Constants.StringConstants.WebsiteSettings.PageIds.SearchResults); 119 120 // Top navigation Snippet 121 @SnippetStart("TopNavigation") 122 123 <div class="top-navigation"> 124 @if (topNavigationPages != null && topNavigationPages.Any()) 125 { 126 <ul class="pages"> 127 @foreach (var topNavigationPage in topNavigationPages) 128 { 129 var topNavigationPageName = topNavigationPage.GetDisplayName(); 130 var topNavigationPageTitle = string.Format("{0}: {1}", Translate("LinkTitlePrefix", "Navigeer naar"), topNavigationPageName).JsEncode(); 131 <li><a href="@string.Format("/Default.aspx?ID={0}", topNavigationPage.ID)" title="@topNavigationPageTitle" target="_top">@topNavigationPageName</a></li> 132 } 133 </ul> 134 } 135 136 @if (websiteLanguages != null && websiteLanguages.Any()) 137 { 138 <ul class="languages"> 139 @{ 140 var pageService = new PageService(); 141 var languagePages = pageService.GetLanguagePages(Model.ID); 142 143 foreach (var language in Model.Area.Languages) 144 { 145 var lang = language.Culture.Split('-')[0]; 146 var link = ""; 147 var listClass = language.IsCurrent ? "active" : ""; 148 var langTitle = string.Format("{0}: {1}", Translate("LinkTitlePrefix", "Navigeer naar"), language.Name).JsEncode(); 149 150 if (language.IsMaster && !language.IsCurrent) 151 { 152 var masterAreaPage = pageService.GetPagesByAreaID(1).SingleOrDefault(p => p.GetLanguageVersion(Model.Area.ID) != null && p.GetLanguageVersion(Model.Area.ID).ID.Equals(Model.ID)); 153 if (masterAreaPage != null) 154 { 155 link = string.Format("/Default.aspx?ID={0}", masterAreaPage.ID); 156 } 157 } 158 else if (language.IsCurrent) 159 { 160 link = "javascript:void(0);"; 161 } 162 else 163 { 164 foreach (var languagePage in languagePages) 165 { 166 var languageAreaId = language.ID; 167 if (languageAreaId == languagePage.AreaId) 168 { 169 link = string.Format("/Default.aspx?ID={0}", languagePage.ID); 170 } 171 } 172 } 173 174 //TODO: querystring? 175 176 <li class="@listClass" title="@langTitle"><a href="@link" target="_top">@lang</a></li> 177 } 178 } 179 </ul> 180 } 181 </div> 182 183 @SnippetEnd("TopNavigation") 184 185 // navigation SM 186 <div id="header_mobile" class="d-block d-md-none" data-hometext="@Translate("Navigation_HomeText", "Home")"> 187 <div class="header-mobile-icons"> 188 <a id="mobile-menu-button" class="icon-color--gray-4 icon--hamburger menu-icon"></a> 189 <a id="mobile-search-button" class="icon-color--gray-4 icon--search menu-icon"></a> 190 <a id="mobile-close-button" class="icon-color--gray-4 icon--cross menu-icon"></a> 191 </div> 192 <nav id="mobile-nav" class="navigation-mobile"> 193 @RenderNavigation(new { StartLevel = 1, EndLevel = 2, Template = "LIClean-mobile.xslt", Expandmode = "All" }) 194 <div class="mobile-topnavigation"> 195 @RenderSnippet("TopNavigation") 196 </div> 197 </nav> 198 <div id="mobile-navigation-submenu"></div> 199 200 <div id="mobile-search" class="search-mobile"> 201 @if (!string.IsNullOrWhiteSpace(searchResultsPageId)) 202 { 203 var searchResultUrl = string.Format("/Default.aspx?ID={0}", searchResultsPageId); 204 <div id="searchFormMobile" data-target="@searchResultUrl"> 205 <div class="top-search"> 206 <div class="input-group"> 207 <input type="text" class="form-control" name="q" id="q" placeholder="@Translate(" Searchbar_Placeholder", "Zoeken" )" aria-label="@Translate(" Searchbar_AriaLabel", "Zoeken" )"> 208 <div class="input-group-append"> 209 <button class="btn icon--search icon-color--gray-4 icon-size--x1 search-button-mobile" type="button" aria-label="search"></button> 210 </div> 211 </div> 212 </div> 213 </div> 214 @SnippetStart("JavascriptBottom") 215 <script> 216 $(document).ready(function () { 217 $(".search-button-mobile, #searchFormMobile").off("click").on("click", function () { 218 SearchHelper.SearchMobile(); 219 }); 220 $("#q, #searchFormMobile").keypress(function (e) { 221 if (e.which == 13) { 222 SearchHelper.SearchMobile(); 223 return false; 224 } 225 }); 226 }); 227 </script> 228 @SnippetEnd("JavascriptBottom") 229 230 } 231 </div> 232 </div> 233 234 // navigation MD+ 235 <div id="header" class="d-none d-md-block"> 236 <div class="container"> 237 238 @RenderSnippet("TopNavigation") 239 240 <nav id="navigation" data-hometext="@Translate("Navigation_HomeText", "Home")"> 241 @RenderNavigation(new { StartLevel = 1, EndLevel = 2, Template = "LIClean.xslt", Expandmode = "All" }) 242 </nav> 243 244 @if (!string.IsNullOrWhiteSpace(searchResultsPageId)) 245 { 246 var searchResultUrl = string.Format("/Default.aspx?ID={0}", searchResultsPageId); 247 <div id="searchForm" data-target="@searchResultUrl"> 248 <div class="top-search"> 249 <div class="input-group"> 250 <input type="text" class="form-control" name="q" id="q" placeholder="@Translate(" Searchbar_Placeholder", "Zoeken" )" aria-label="@Translate(" Searchbar_AriaLabel", "Zoeken" )"> 251 <div class="input-group-append"> 252 <button class="btn icon--search icon-color--gray-4 icon-size--x1 search-button" type="button" aria-label="search"></button> 253 </div> 254 </div> 255 </div> 256 </div> 257 258 @SnippetStart("JavascriptBottom") 259 <script> 260 $(document).ready(function () { 261 $(".search-button, #searchForm").off("click").on("click", function () { 262 SearchHelper.Search(); 263 }); 264 $("#q, #searchForm").keypress(function (e) { 265 if (e.which == 13) { 266 SearchHelper.Search(); 267 return false; 268 } 269 }); 270 }); 271 </script> 272 @SnippetEnd("JavascriptBottom") 273 } 274 </div> 275 <div id="navigation-submenu"></div> 276 </div> 277 } 278 <main> 279 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 280 @Title("Goal List template") 281 @Description("View model template for the Goal list") 282 283 @{ 284 285 var pageView = Dynamicweb.Frontend.PageView.Current(); 286 var culture = pageView.GlobalTags.GetTagByName("Global:Area.LongLang").Value; 287 var itemPageId = pageView.ID; 288 289 var ps = new Dynamicweb.Content.PageService(); 290 var itemService = new Dynamicweb.Content.ItemService(); 291 var title = ""; 292 293 var goalName = ""; 294 var goalIcon = ""; 295 var goalIconHeader = ""; 296 var goalType = ""; 297 var goalClass = ""; 298 299 var item = TwenteBranding.Repository.Helpers.ItemHelper.GetTwenteBrandingItemForGoalList(Model.ItemId, itemPageId.ToString(), culture, ps, itemService, false); 300 if (item != null) 301 { 302 title = item.Title; 303 304 goalName = item.GoalName; 305 goalIcon = item.GoalIcon; 306 goalIconHeader = item.GoalIconHeader; 307 goalType = item.GoalType; 308 goalClass = goalName.Replace(" ", "-").ToLower(); 309 } 310 311 //var title = Model.Item.GetString("Title"); 312 var introduction = Model.Item.GetString("Text"); 313 //var headerImage = Model.Item.GetString("Image"); 314 315 316 var articles = ps.GetPagesByParentID(Model.ID); 317 318 <div class="main-container"> 319 <div class="page-title background--@goalClass"> 320 <div class="container"> 321 <div class="header-grid"> 322 <div class="title"> 323 <h1 class="font-color--white">@title</h1> 324 @if (!string.IsNullOrWhiteSpace(introduction)) 325 { 326 <div class="sub-header">@introduction</div> 327 } 328 329 </div> 330 <div class="image"><img alt="global goal icon" src="@goalIconHeader" /></div> 331 <div class="read-full-article font-color--white icon--arrow-down">@Translate("GoalList_Show_All_Articles", "Bekijk hieronder alle artikelen")</div> 332 </div> 333 </div> 334 </div> 335 <div class="page-content container goal-list"> 336 <div class="grid cols-3"> 337 @Model.Placeholder("Articles", "Main content", "default:true;sort:1") 338 </div> 339 </div> 340 </div> 341 } 342 </main> 343 @using Dynamicweb.Frontend 344 @using TwenteBranding.Models.Constants 345 @using TwenteBranding.Repository.Helpers 346 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 347 348 @{ 349 var hashTags = AreaHelper.GetFooterHashTags(Model); 350 var hashTagsTitleField = Model.Area.Item.GetField(StringConstants.ItemInstanceType.FooterTagsTitle).GetValue(); 351 var hashTagsTitle = hashTagsTitleField == null ? "" : hashTagsTitleField.ToString(); 352 if (hashTags.Count > 0) 353 { 354 <div class="background--gray-1"> 355 356 <div class="hashtags-container container"> 357 @{ 358 if (!string.IsNullOrEmpty(hashTagsTitle)) 359 { 360 <div class="title"> 361 @hashTagsTitle 362 </div> 363 } 364 } 365 <div class="hashtags font-color--twente-red"> 366 @foreach (var tag in hashTags) 367 { 368 <a href="@SearchEngineFriendlyURLs.GetFriendlyUrl(tag.ID)">#@tag.MenuText</a> 369 } 370 </div> 371 </div> 372 </div> 373 } 374 } 375 376 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 377 <footer class="background--twente-red"> 378 <div class="container"> 379 <div class="social-media-icon-container"> 380 @using TwenteBranding.Repository.Helpers 381 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 382 383 @if (Model.Area.Item != null) 384 { 385 <ul> 386 @foreach (var field in Model.Area.Item.Fields.Where(f => f.SystemName.StartsWith("Sm_"))) 387 { 388 if (!string.IsNullOrEmpty(field.GetString())) 389 { 390 <li> 391 <a rel="noopener" aria-label="@field.Name.JsEncode()" href="@field.GetString()" title="@field.Name.JsEncode()" target="_blank"> 392 <div class="social-media-icon icon--@field.SystemName.ToLower() icon-size--x2"></div> 393 </a> 394 </li> 395 } 396 } 397 </ul> 398 } 399 </div> 400 <div class="footer-link-container"> 401 @{ 402 List<Dynamicweb.Content.Page> footerNavigationPages = null; 403 int footerNavigationFolderId = GetPageIdByNavigationTag(TwenteBranding.Models.Constants.StringConstants.NavigationTags.FooterNavigation); 404 if (footerNavigationFolderId > 0) 405 { 406 var pageService = new Dynamicweb.Content.PageService(); 407 var footerNavigationPageList = pageService.GetPagesByParentID(footerNavigationFolderId); 408 if (footerNavigationPageList != null && footerNavigationPageList.Any()) 409 { 410 footerNavigationPages = footerNavigationPageList.Where(p => p.Active).ToList(); 411 if (footerNavigationPages != null && footerNavigationPages.Any()) 412 { 413 var footerLinkCounter = 1; 414 foreach (var footerNavigationPage in footerNavigationPages) 415 { 416 var footerNavigationPageName = footerNavigationPage.GetDisplayName(); 417 var footerNavigationPageTitle = string.Format("{0}: {1}", Translate("LinkTitlePrefix", "Navigeer naar"), footerNavigationPageName).JsEncode(); 418 var footerNavigationPageLink = string.Format("/Default.aspx?ID={0}", footerNavigationPage.ID); 419 420 if (footerNavigationPages.Count() == footerLinkCounter) 421 { 422 var copyRight = string.Format(Translate("Footer_CopyRight", "&copy; {0} Twente Branding"), DateTime.Now.Year); 423 424 <div class="footer-link-wrapper"> 425 <div class="footer-link"> 426 <a href="@footerNavigationPageLink" title="@footerNavigationPageTitle">@footerNavigationPageName</a> 427 </div> 428 <div class="footer-link"><span>@copyRight</span></div> 429 </div> 430 } 431 else 432 { 433 <div class="footer-link"> 434 <a href="@footerNavigationPageLink" title="@footerNavigationPageTitle">@footerNavigationPageName</a> 435 </div> 436 } 437 footerLinkCounter++; 438 } 439 } 440 } 441 } 442 } 443 </div> 444 </div> 445 </footer> 446 447 </main> 448 <aside> 449 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 450 @using Dynamicweb.Core 451 @using TwenteBranding.Repository.Helpers 452 @using System.Linq; 453 @using TwenteBranding.Models.ViewModels 454 455 @{ 456 var newsletterSubscriptionModalPageId = GetPageIdByNavigationTag("NewsletterSubscriptionModal"); 457 var jobAlertSubscriptionModalPageId = GetPageIdByNavigationTag("JobAlertSubscriptionModal"); 458 var jobOffersPageId = GetPageIdByNavigationTag("JobOffers"); 459 var jobOfferParentPageId = Dynamicweb.Frontend.PageView.Current().Page.ParentPageId; 460 var utmCampaign = System.Web.HttpContext.Current.Request.QueryString.Get("utm_campaign"); 461 var mainHashtagModal = ""; 462 463 // Specific pages which must not show a subscription modal (jobalert/newsletter) 464 var twenteLeeftPageId = GetPageIdByNavigationTag("MOT_TwenteLeeft"); 465 var pageIdsWithoutModal = new List<int> { twenteLeeftPageId }; 466 467 // Get the item for the current page 468 TwenteBrandingItemModel pItem = null; 469 if (Model.ItemId != "1") //Item with ID 1 gives error 470 { 471 pItem = ItemHelper.GetTwenteBrandingItemForPage( 472 Model.ItemId, 473 Dynamicweb.Frontend.PageView.Current().ID.ToString(), 474 Dynamicweb.Frontend.PageView.Current().GlobalTags.GetTagByName("Global:Area.LongLang").Value 475 ); 476 } 477 478 if (pItem != null) 479 { 480 // Get main hashtag of the current page item 481 var mainHashtagId = pItem.MainHashtagIds.FirstOrDefault(); 482 if (!string.IsNullOrEmpty(mainHashtagId)) 483 { 484 var hashtagItem = Dynamicweb.Content.Items.Item.GetItemById(TwenteBranding.Models.Constants.StringConstants.ItemInstanceType.Hashtag, mainHashtagId); 485 mainHashtagModal = $"{ItemHelper.GetItemValue<string>(hashtagItem, TwenteBranding.Models.Constants.StringConstants.CustomItemTypes.BaseArticle.Title)}"; 486 } 487 } 488 489 // Dont show a modal on the following pages 490 if (pageIdsWithoutModal.Contains(Model.ID) || mainHashtagModal == "talent") 491 { 492 //do noting 493 } 494 else 495 { 496 // Show modal with link to vacancysubscription page on vacancy page and pages with #talent hashtag 497 if ((Model.ID == jobOffersPageId || jobOfferParentPageId == jobOffersPageId) 498 && jobAlertSubscriptionModalPageId > 0) 499 { 500 @RenderPageContent(jobAlertSubscriptionModalPageId) 501 } 502 // If the jobalert modal pageId has a value and utmCampaing matches the specified value 503 else if (jobAlertSubscriptionModalPageId > 0 && utmCampaign == "Remarketing vacaturebank") 504 { 505 @RenderPageContent(jobAlertSubscriptionModalPageId) 506 } 507 // Else if the newsletter pageId has a value, show the newsletter subscription modal 508 else if (newsletterSubscriptionModalPageId > 0) 509 { 510 @RenderPageContent(newsletterSubscriptionModalPageId) 511 } 512 } 513 } 514 </aside> 515 <script src="https://code.jquery.com/jquery-2.2.4.min.js" 516 integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" 517 crossorigin="anonymous"></script> 518 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.bundle.min.js"></script> 519 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery.lazy/1.7.9/jquery.lazy.min.js"></script> 520 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery.lazy/1.7.9/jquery.lazy.plugins.min.js"></script> 521 522 <script src="@appJs"></script> 523 @RenderSnippet("JavascriptBottom") 524 </body> 525 </html> 526 }