Spring til hovedindhold

Søgeresultat

Error executing template "Designs/Baseline/QueryPublisher/searchresult.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_974df99eeea7499ab822323f597f6afa.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.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, 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.QueryPublisher.QueryResultViewModel> 2 3 @using Application.Extensions; 4 @using Dynamicweb.Indexing 5 6 @{ 7 List<IndexDocument> eventSearchResults = new List<IndexDocument>(); 8 List<IndexDocument> newsSearchResults = new List<IndexDocument>(); 9 10 int contactPageId = 0; 11 string searchResultHeadline = Translate("Translate.Search.ResultHeadline"); 12 string searchQuery = Model.Parameters.FirstOrDefault(x => x.Name == "q") != null ? Model.Parameters.FirstOrDefault(x => x.Name == "q").Value.ToString() : string.Empty; 13 int resultCount = 0; 14 15 foreach (var result in Model.Results) { 16 var itemType = result.ContainsKey("PageItemType") ? result["PageItemType"].ToString() : string.Empty; 17 18 if (!string.IsNullOrWhiteSpace(itemType)) { 19 if (itemType == "Event") { 20 eventSearchResults.Add(new IndexDocument(result)); 21 resultCount++; 22 } 23 } 24 25 if (string.IsNullOrWhiteSpace(itemType) || itemType != "Event") 26 { 27 resultCount++; 28 } 29 } 30 31 string searchResultHeadlineReplaced = string.Format(searchResultHeadline, $"<strong>\"{searchQuery}\"</strong>", resultCount); 32 } 33 34 <div class="search-result"> 35 <h2 class="search-result__headline">@searchResultHeadlineReplaced</h2> 36 <div class="search-result__list"> 37 @foreach (var result in Model.Results) { 38 var itemType = result.ContainsKey("PageItemType") ? result["PageItemType"].ToString() : string.Empty; 39 40 if (string.IsNullOrWhiteSpace(itemType) || itemType != "Event") 41 { 42 string pageUrl = $"/Default.aspx?Id={result["PageID"].ToString()}"; 43 string searchResultTitle = result.ContainsKey("Property_PageSettings_Title") ? result["Property_PageSettings_Title"].ToString() : (result.ContainsKey("PageMenuText") ? result["PageMenuText"].ToString() : string.Empty); 44 string newsDate = result.ContainsKey("News_Date") ? ((DateTime)result["News_Date"]).ToString("dd.MM.yy") : string.Empty; 45 46 <a href="@pageUrl" class="search-result__item"> 47 @if (!string.IsNullOrWhiteSpace(newsDate)) { 48 <span class="search-result__date">@newsDate</span> 49 } 50 <h3 class="search-result__item-headline">@searchResultTitle</h3> 51 <span class="search-result__icon"> 52 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M15.3,10.29h.02s-.03,0-.03,0l-4.68,4.69-1.01-.97,3.31-3.31H4.61v-1.41h8.3l-3.3-3.3.99-1,5,5-.3.29Z"></path></svg> 53 </span> 54 </a> 55 } 56 } 57 </div> 58 @if (eventSearchResults.Any()) { 59 <div class="search-result__list search-result__list--calendar"> 60 <ul class="search-result__calendar"> 61 @foreach (var result in eventSearchResults) { 62 string itemId = result["PageItemId"].ToString(); 63 64 @RenderItem(new 65 { 66 ItemType = "Event", 67 SourceItemEntry = itemId, 68 ItemFields = "*", 69 DetailsTemplate = "itempublisher/details/event.searchresult.cshtml" 70 }) 71 } 72 </ul> 73 </div> 74 } 75 </div>