Error executing template "Designs/SSTemplate/_parsed/news.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_bcf4ddb787714032a60d385a55f7107a.Execute() in E:\dynamicweb.net\Solutions\Sendistovan\j2019.dw9.dynamicweb-cms.com\files\Templates\Designs\SSTemplate\_parsed\news.parsed.cshtml:line 213
   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 @using System.Web.Mvc; 2 @using System.Text.RegularExpressions; 3 @using System.Web; 4 @using System.IO; 5 @using System.Linq; 6 @{ 7 string basecss = "/Files/Templates/Designs/SSTemplate/css/base.css"; 8 string ifolder = basecss.Substring(0, basecss.LastIndexOf("/")).ToString(); 9 string ifolderOnDisk = System.Web.HttpContext.Current.Server.MapPath(ifolder); 10 DirectoryInfo idirectoryInfo = new System.IO.DirectoryInfo(ifolderOnDisk); 11 string idatefetch=@idirectoryInfo+"\\base.css"; 12 DateTime ilastmodified = File.GetLastWriteTime(@idatefetch); 13 basecss=@basecss+"?modified="+@ilastmodified.ToString("yyyy-MM-ddTHH:mm:ss"); 14 string stylecss = "/Files/Templates/Designs/SSTemplate/css/styles.css"; 15 string ufolder = stylecss.Substring(0, stylecss.LastIndexOf("/")).ToString(); 16 string ufolderOnDisk = System.Web.HttpContext.Current.Server.MapPath(ufolder); 17 DirectoryInfo udirectoryInfo = new System.IO.DirectoryInfo(ufolderOnDisk); 18 string udatefetch=@udirectoryInfo+"\\styles.css"; 19 string logo=@GetString("Item.Area.Design.Logo"); 20 DateTime ulastmodified = File.GetLastWriteTime(@udatefetch); 21 stylecss=@stylecss+"?modified="+@ulastmodified.ToString("yyyy-MM-ddTHH:mm:ss"); 22 }@{ 23 24 string kolofonimg=@GetString("Item.Area.Design.Ikon"); 25 }<!DOCTYPE html> 26 <html lang="fo"> 27 @{ 28 string pageid=@GetString("DwPageID"); 29 string readspeak=@GetString("Item.Area.Funktionalitetir.BaseUr")+"?id="+pageid; 30 string pagenametit=@GetString("DwPageName"); 31 32 string pagearea=@GetString("DwPageID_1"); 33 pagearea="top"+pagearea; 34 ViewBag.BaseUrl = @GetString("Item.Area.Funktionalitetir.BaseUr"); 35 ViewBag.StoddStarvs = @GetString("Item.Page.StoddStarv"); 36 }<head> 37 <meta charset="utf-8"> 38 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 39 <meta name="viewport" content="width=device-width, initial-scale=1"> 40 41 <meta name="author" content=""> 42 <meta property="og:url" content="@readspeak"> 43 <meta property="og:locale" content="fo_FO"> 44 <meta property="og:title" content="@pagenametit"> 45 <meta name="google-site-verification" content="_8UkOXR321xXc60VV1folaRbl3pukMQpv1ifNUwjZXU"> 46 <link rel="shortcut icon" type="image/ico" href="/Files/Templates/Designs/SSTemplate/img/favicon.ico"> 47 <link rel="shortcut icon" type="image/png" href="/Files/Templates/Designs/SSTemplate/img/favicon.png"> 48 @RenderSnippet("FBimg") 49 50 @foreach(LoopItem i in GetLoop("Item.Area.Design.Fontar")){ 51 52 @i.GetString("Item.Area.Design.Fontar.Font") 53 54 } 55 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css"> 56 <link rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/meanmenu.css?build=25"> 57 <link rel="stylesheet" href="@basecss"> 58 59 <link rel="stylesheet" href="@stylecss"> 60 61 62 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/base-mobil.css"> 63 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/styles-mobil.css"> 64 <script type="text/javascript" src="/Files/Templates/Designs/SSTemplate/Fontur/Javascript/Clan.js"></script> 65 <script src="https://consent.cookiefirst.com/sites/j.fo-17b974b4-88db-494d-b44a-84321fcda66f/consent.js"></script> 66 67 @GetValue("CopyRightNotice") 68 @GetValue("MetaTags") 69 @GetValue("Stylesheets") 70 @GetValue("Javascripts") 71 </head> 72 <body> 73 74 75 76 @GetString("Item.Area.SomeAndShare.FacebookJaascriptSDK") 77 78 79 <div class="mynav d-md-none d-lg-none d-xl-none"> 80 @GetValue("DwNavigation(mobmen)") 81 82 </div><!-- #dl-menu end --> 83 84 <div class="TopTopMenu container-fluid d-none d-sm-none d-md-block"> 85 <div class="row"> 86 <div class="container"> 87 <div class="row"> 88 <div class="col-12 toptopred"> 89 <div class="samband"> 90 <a href="/"><img class="logoimg" src="@logo" alt="Javnaðarflokkurin"></a> 91 </div> 92 <div class="toptoplinks navigation"> 93 <a class="toptopfacebooklink" target="_blank" href="https://www.facebook.com/Javnadarflokkurin1925/"><span class="icon-share-facebook"><span class="path1"></span><span class="path2"></span><span class="path3"></span></span></a> 94 @GetValue("DwNavigation(topnavul)") 95 96 97 </div> 98 <div class="langswapper"> 99 </div> 100 <div class="cart"> 101 </div> 102 </div> 103 </div> 104 </div> 105 </div> 106 </div> 107 108 109 <div class="container d-none d-sm-none d-md-block"> 110 <div class="row"> 111 <div class="col-12" id="topmenu"> 112 113 @GetValue("DwNavigation(topmen1)") 114 115 <form method="get" action="?id=47" id="searchform" class="form-inline my-2 my-md-0 relative searchform"> 116 <input type="hidden" name="id" value="47"> 117 <input type="submit" class="hide"> 118 119 @{string placeholder=@GetString("Item.Area.NavAndSearch.PlaceholderTekstur");} 120 <input class="form-control stdsrchinput" name="q" type="text" placeholder="@placeholder"><span class="icon-search searchicon "></span> 121 122 </form> 123 </div> 124 </div> 125 </div><!--- NAVIGATION ---> 126 127 128 @if(@GetString("Item.SystemName")=="Frontpage"){ 129 <div class="container-fluid bottomheadborder"></div> 130 } 131 132 133 @if(GetBoolean("Item.ShowBradcrumbs") == true || @GetString("Item.SystemName")=="Greinaskrivari") 134 {<text> 135 <div class="container-fluid mb-0 bread"> 136 <div class="container"> 137 <div class="row"> 138 <div class="bread col my-3"> 139 @GetValue("DwNavigation(bread)") 140 </div> 141 </div> 142 </div> 143 </div> 144 </text> 145 } 146 <!--- BREADCRUMB ---> 147 148 @using System.Text.RegularExpressions; 149 @using System.Web; 150 @using Dynamicweb.Content; 151 @using System.Net; 152 153 @{ 154 string mynd=@GetString("Item.Area.Design.FacebookDeilFallback"); 155 156 string play=""; 157 string videostart=""; 158 159 int sidaid=0; 160 } 161 162 @if(!string.IsNullOrEmpty(@GetString("Item.Video"))){play="<span class='icon-media-video'></span>"; videostart="videostart";} 163 else {play="";} 164 165 @{ 166 var rawImg = GetString("Item.Mynd"); 167 } 168 169 @if (!string.IsNullOrEmpty(rawImg)) 170 { 171 // Build correct full URL (NOT encoded) 172 var fullUrl = "https://www.j.fo" + rawImg; 173 174 // Encode only the *path*, NOT the protocol + domain 175 var encodedPath = Uri.EscapeUriString(rawImg); 176 177 // Rebuild the safe URL for Facebook 178 mynd = "https://www.j.fo" + encodedPath; 179 } 180 181 @SnippetStart("FBimg") 182 <meta property="og:image" content="@ViewBag.BaseUrl@mynd"> 183 <meta property="og:type" content="article"> 184 185 @SnippetEnd("FBimg") 186 187 188 189 190 191 <div class="container newsintro-parent relative"> 192 193 @{ 194 string writer=""; 195 string writerimg=""; 196 string imgcroppoint=""; 197 198 199 } 200 201 @if (!GetBoolean("Item.GuestWriterONOFF")){ 202 <text> 203 204 205 206 207 @if(!String.IsNullOrEmpty(@GetString("Item.GreinaskrivariDropdown"))){ 208 <text> 209 @{ 210 string writeridstring=@GetString("Item.GreinaskrivariDropdown"); 211 int writerid=Int32.Parse(@writeridstring); 212 var item = Dynamicweb.Content.Items.ItemManager.Storage.GetById("Greinaskrivari", @writeridstring); 213 writer = item["Navn"].ToString(); 214 writerimg=item["Mynd"].ToString().Replace("?x", "&x"); 215 var writerpage=Dynamicweb.Services.Pages.GetPageForItem("Greinaskrivari", @writeridstring); 216 sidaid = Dynamicweb.Services.Pages.GetPageForItem("Greinaskrivari", @writeridstring).ID; 217 218 219 220 } 221 </text> 222 } 223 224 </text> 225 } 226 else { 227 writer=@GetString("Item.GuestWriter"); 228 writerimg=@GetString("Item.GuestWriterImafge"); 229 imgcroppoint=@GetString("Item.GuestWriterImafge.FocalPointParameters"); 230 231 } 232 233 234 @if(!String.IsNullOrEmpty(@GetString("Item.Mynd"))){ 235 mynd=@GetString("Item.Mynd"); 236 } 237 238 @if(String.IsNullOrEmpty(@mynd)){ 239 240 mynd="/Files/Templates/Designs/SSTemplate/img/fallback-umbod.jpg"; 241 } 242 243 @if(sidaid!=0){ 244 <a class="authorcont hide-mobile" href="/default.aspx?id=@sidaid"> 245 @if(!String.IsNullOrEmpty(@writerimg)){ 246 <div class="autorimage"><img src="/Admin/Public/Getimage.ashx?image=@writerimg&width=140&height=140&Crop=7&@imgcroppoint"> </div> 247 } 248 249 <div class="authorname">@writer </div> 250 251 </a> 252 } 253 else{ 254 <div class="authorcont"> 255 @if(!String.IsNullOrEmpty(@writerimg)){ 256 <div class="autorimage"><img src="/Admin/Public/Getimage.ashx?image=@writerimg&width=140&height=140&Crop=7&@imgcroppoint"> </div> 257 } 258 259 <div class="authorname">@writer </div> 260 261 </div> 262 } 263 264 265 266 267 <div class="row"> 268 <div class="col-xl-9 col-12 col-md-10 mt-5 newsintro"> 269 @if(!String.IsNullOrEmpty(GetString("Item.NewsType"))){ 270 <text><span class="greintype">@GetString("Item.NewsType").Replace("Tidindi", "Tíðindi").Replace("Lesarabraev", "Lesarabræv")</span></text>}<span class="dato">@GetDate("Item.Dato").ToString("dd. MMMM yyyy")</span> 271 @if(!String.IsNullOrEmpty(@writer)){ 272 <div class="authorname author-mobile">@writer </div> } 273 274 <h1>@GetString("Item.Yvirskrift") </h1> 275 276 277 278 @if(!String.IsNullOrEmpty(GetString("Item.Inngangstekstur"))){ 279 <p class="introIII mt-4 mb-5">@GetString("Item.Inngangstekstur")</p> } 280 </div> 281 </div> 282 </div> 283 284 <div class="container newsshare-parent"> 285 <div class="row"> 286 @if(@GetBoolean("Item.MogulleikaFyriAtDeila")==true){ 287 <text> 288 <div class="col-xl-1 col-md-0 share-parent"> 289 290 291 292 <div class="linja mt-5"></div> 293 <p class="share">Deil:</p> 294 <a href="#" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href),'facebook-share-dialog','width=626,height=436');return false;"><span class="icon-share-facebook"><span class="path1"></span><span class="path2"></span><span class="path3"></span></span></a> 295 @{ 296 string pagename=@GetString("DwPageName"); 297 string pagelink=@HttpContext.Current.Request.Url.AbsoluteUri; 298 } 299 <a href="mailto:?Subject=@pagename&body=Trýst á leinki her @pagelink"><span class="icon-share-email"><span class="path1"></span><span class="path2"></span><span class="path3"></span></span></a> 300 301 302 </div> 303 </text> 304 } 305 <div class="col-12 col-xl-9 col-md-10 newsmynd-parent"> 306 @if(!String.IsNullOrEmpty(@GetString("Item.Mynd"))){ 307 <text> 308 309 310 <div class="newsitemimage relative @videostart"> 311 @{ 312 int focalx=@GetInteger("Item.Mynd.FocalX"); 313 int focaly=@GetInteger("Item.Mynd.FocalY"); 314 } 315 <img src="/Admin/Public/Getimage.ashx?image=@mynd&width=900&height=500&Crop=7&x=@focalx&y=@focaly" class="img-fluid mt-5 mb-5"> 316 @play 317 318 @if(!String.IsNullOrEmpty(@GetString("Item.Evni"))){ 319 <span class="newsevni">@GetString("Item.Evni")</span> 320 } 321 322 </div> 323 </text> 324 } 325 326 </div> 327 328 <div class="col-12 col-xl-2 col-md-2 newsmyndatekstur"> 329 @if(!String.IsNullOrEmpty(GetString("Item.Myndatekstur"))){ 330 <div class="linja mt-5 ml-2"></div> 331 332 <text> 333 <p class="myndatekstur ml-2">@GetString("Item.Myndatekstur")</p> 334 </text>} 335 </div> 336 </div> 337 </div> 338 339 340 <div class="container newscont"> 341 <div class="row"> 342 <div class="col-12 col-xl-7 offset-xl-2 col-sm-12 offset-sm-0 newstekstur"> 343 @GetString("Item.Tekstur") 344 </div> 345 </div> 346 </div> 347 348 @if(!String.IsNullOrEmpty(@GetString("Item.TeksturKnap")) && !String.IsNullOrEmpty(@GetString("Item.LeinkiKnappur"))){ 349 <text> 350 <div class="container newsknaplink-parent"> 351 <div class="row"> 352 <div class="col-12 offset-sm-2 "> 353 <h2 class="alternative newsknaplink offset-sm-2">@GetString("Item.YvirskriftTilKnapp")</h2> 354 </div> 355 <a href='@GetString("Item.LeinkiKnappur")' class="col-12 col-xl-7 offset-xl-2 col-sm-12 offset-sm-0 oydublad my-3"> 356 @GetString("Item.TeksturKnap") <span class="icon-download taknidur"></span> 357 </a> 358 </div> 359 </div> 360 361 </text> 362 } 363 @if (!String.IsNullOrEmpty(GetString("Item.YvirskrftMyndasavn"))) 364 { 365 <div class="container newsgallery-parent"> 366 <div class="row"> 367 <h2 class="offset-sm-2 alternative">@GetString("Item.YvirskrftMyndasavn")</h2> 368 <div class="card-columns offset-md-1 col-md-9 col-12" id="lightgallery"> 369 @* Ensure GetLoop isn't null before attempting to iterate *@ 370 @{ 371 var files = GetLoop("Item.Mappa.ListOfFiles"); 372 if (files != null) 373 { 374 foreach (var file in files) 375 { 376 // Safely access file and its values 377 var filePath = GetValue("Item.Mappa") + "/" + file?.GetValue("Item.Mappa.FileName"); 378 if (!String.IsNullOrEmpty(filePath)) 379 { 380 <div class="card mb-4"> 381 <a class="item" href="@filePath"> 382 <img class="card-img" src='/admin/public/getimage.ashx?&Image=@filePath&Resolution=75&Compression=90&Width=200&Crop=0'> 383 </a> 384 </div> 385 } 386 } 387 } 388 } 389 </div> 390 <div class="col-md-2 col-12"> 391 <div class="linja ml-2"></div> 392 @* Check if TeksturTilMyndasavn exists *@ 393 @if (!String.IsNullOrEmpty(GetString("Item.TeksturTilMyndasavn"))) 394 { 395 <p class="myndatekstur ml-2">@GetString("Item.TeksturTilMyndasavn")</p> 396 } 397 </div> 398 </div> 399 </div> 400 } 401 402 403 <div class="container mb-5 hide"> 404 <div class="row"> 405 <div class="col-12 next"> 406 <div class="text-right"> 407 <a href="#"><p>Næst</p> <span class="icon-arrow-right"></span></a> 408 </div> 409 </div> 410 </div> 411 </div> 412 413 414 415 <div class="container-fluid bg-grey othernews-parent"> 416 <div class="container pb-5 othernews-heiti-parent"> 417 <div class="row othernews"> 418 419 <div class="col-12 m-4 othernews-heiti"> 420 <h2 class="text-center">Nýggjastu tíðindi og greinar</h2></div> 421 @RenderParagraphContent(3) 422 423 </div> 424 </div> 425 </div> 426 427 428 <div class="container"> 429 <div class="col-12 text-center"> 430 <a class="scrolltop"> <span class="icon-backtotop"><span class="path1"></span><span class="path2"></span></span></a> 431 </div> 432 </div> 433 434 435 436 @if (!string.IsNullOrWhiteSpace(@GetString("Item.Video"))) { 437 <text> 438 <script> 439 document.addEventListener("DOMContentLoaded", function(event) { 440 $('.videostart').on('click', function() { 441 $(this).lightGallery({ 442 dynamic: true, 443 zoom: false, 444 youtubePlayerParams: { modestbranding: 1, showinfo: 0, controls: 0, rel: 0 }, 445 dynamicEl: [{ 446 "src": '@GetValue("Item.Video")' 447 }] 448 }) 449 450 }); 451 }); 452 453 454 </script> 455 456 </text>} 457 458 459 460 <div class="container-fluid footer"> 461 <div class="container"> 462 <div class="row "> 463 464 <div class="col-xl-3 col-md-12 col-12 mt-5"> 465 @RenderParagraphContent(27) 466 </div> 467 <div class="col-xl-3 col-md-4 col-12 mt-5"> 468 @RenderParagraphContent(28) 469 </div> 470 <div class="col-xl-3 col-md-4 col-12 mt-5"> 471 @RenderParagraphContent(29) 472 </div> 473 <div class="col-xl-3 col-md-4 col-12 mt-5 fourth"> 474 @RenderParagraphContent(30) 475 </div> 476 </div> 477 </div> 478 </div> 479 480 <div class="container-fluid footerbottom"> 481 <div class="container"> 482 <div class="row"> 483 <div class="col-12 text-center"> 484 <a class="kolofon" target="_blank" href="//www.sendistovan.fo"><img src="@kolofonimg" alt="Sendistovan">Ein loysn frá Sendistovuni</a> 485 </div> 486 </div> 487 </div> 488 </div> 489 490 491 <div class="mob-search"> 492 <form method="post" action="?id=47" id="mob-searchform"> 493 <input type="submit" class="hide"> 494 <input class="mobinput" name="q" type="text" placeholder="Leita"><span class="icon-search mob-searchicon mob-submit"></span> 495 <span class="icon-menu-close mob-search-close"></span> 496 497 </form> 498 </div> 499 500 501 <div class="mobilmenpush hide"> 502 503 @GetValue("DwNavigation(mobtoptopnav)") 504 505 506 </div> 507 508 509 <link type="text/css" rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/lightgallery/css/lightgallery.min.css"> 510 <link rel="stylesheet" href="/Files/Templates/Designs/SSTemplate/css/tablesaw.css"> 511 <script src="/Files/Templates/Designs/SSTemplate/js/tablesaw.js"></script> 512 <script src="/Files/Templates/Designs/SSTemplate/js/tablesaw-init.js"></script> 513 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 514 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> 515 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lightgallery.min.js"></script> 516 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-thumbnail.js"></script> 517 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-zoom.js"></script> 518 <script src="/Files/Templates/Designs/SSTemplate/lightgallery/js/lg-video.js"></script> 519 <script src="/Files/Templates/Designs/SSTemplate/js/sendistovan.js"></script> 520 521 522 523 <script src="/Files/Templates/Designs/SSTemplate/js/meanmenu.js?build=24"></script> 524 <script> 525 document.addEventListener("DOMContentLoaded", function(event){ 526 jQuery('.mynav').meanmenu(); 527 528 529 var div1Html = $('.mobilmenpush').html(); 530 531 $( ".meanmenu" ).append(div1Html); 532 533 $(".search-reveal").click(function(){ 534 535 536 $('.mob-search').fadeIn("fast"); 537 $('.mobinput').focus(); 538 }); 539 540 $(".mob-submit").click(function(){ 541 $('#mob-searchform').submit(); 542 }); 543 544 545 }); 546 547 </script> 548 549 <script> 550 window.addEventListener('resize', function(event){ 551 jQuery('.mynav').meanmenu(); 552 553 554 var div1Html = $('.mobilmenpush').html(); 555 556 $( ".meanmenu" ).append(div1Html); 557 558 $(".search-reveal").click(function(){ 559 560 561 $('.mob-search').fadeIn("fast"); 562 $('.mobinput').focus(); 563 }); 564 </script> 565 566 <script> 567 568 document.addEventListener("DOMContentLoaded", function(event){ 569 $('.mob-search').hide(); 570 571 $(".mob-search-close").click(function(){ 572 573 574 $('.mob-search').fadeOut("fast"); 575 }); 576 577 578 579 }); 580 </script> 581 582 583 584 585 586 @{ 587 string valevniid=@GetString("Item.Id"); 588 589 } 590 591 592 593 594 <script type="text/javascript"> 595 document.addEventListener("DOMContentLoaded", function(event){ 596 jQuery(".minunikkarow").load("/Default.aspx?ID=379&wid=@valevniid"); 597 }); 598 </script> 599 600 601 602 603 <script> 604 document.addEventListener("DOMContentLoaded", function(event){ 605 if(document.getElementById("cookiwarcont") !== null) 606 { 607 $('#cookiwarcont').load('/Default.aspx?ID=30'); 608 } 609 }); 610 </script> 611 612 @GetString("Item.Area.Funktionalitetir.FacebookTrackingPixul") 613 614 @if(!String.IsNullOrEmpty(@GetString("Item.Area.Funktionalitetir.TrackingID"))) { 615 <text> 616 @{ 617 string trackid=@GetString("Item.Area.Funktionalitetir.TrackingID");} 618 @GetString("Item.Area.Uppseting.GoogleMapApi") 619 <script async="" src="https://www.googletagmanager.com/gtag/js?id=@trackid"></script> 620 <script> 621 window.dataLayer = window.dataLayer || []; 622 function gtag(){dataLayer.push(arguments);} 623 gtag('js', new Date()); 624 625 gtag('config', '@GetString("Item.Area.Funktionalitetir.TrackingID")'); 626 </script> 627 </text> 628 } 629 630 631 632 </body> 633 </html> 634 635