2016-12-22 4 views
0

Ich arbeite an einer Umbraco 7 Website, wo Produkte von einem Boolean gefiltert werden.Bool Wert kann nicht null sein

  • Wahr = männlich
  • Falsch = Frauen

I Request.QueryString.Get("gender") und erhalten Sie einen true oder false Wert, den ich in die subPage.GetPropertyValue<bool>("gender") analysieren, die dann die Produkte macht aus, die entweder true oder false ist. Dieser Teil funktioniert gut.

jedoch ob ich QueryStrying.Get("gender") in der URL haben nicht gibt es einen Fehler, der die Value cannot be null.

erzählt Wie verhindere ich, dass dies geschieht? Ich versuchte, die var genderQuery mit einem @if (Request.QueryString.Get("gender") != null) Einwickeln aber dann kann ich es nicht grap aus dem Inneren der foreach

Mein Code:

@if (subPages.Count() > 0) 
    { 
     <ul> 
      @foreach (var subPage in subPages) 
      { 
       var genderQuery = Request.QueryString.Get("gender"); 

       if (subPage.Children.Count() > 0 && subPage.GetPropertyValue<bool>("gender") == bool.Parse(genderQuery)) 
       { 
        <li class="child @(CurrentPage.Name == subPage.Name ? currentClass :"")"> 

         <a href="@subPage.Url">@subPage.Name </a> 
         <a href="@subPage.Parent.Parent.Url" class="@(CurrentPage.Name == subPage.Name ? currentClass : "hide")"><i class="fa fa-close"></i></a> 
        </li> 
       } 
      } 
     </ul> 
    } 
+0

Nun, was wollen Sie passieren, wenn 'genderQuery' ist null, dh es ist nicht in der Abfragezeichenfolge? –

+0

@EdPlunkett: Nein, 'genderQuery' ist eine' string', keine 'bool?' Überhaupt. –

+0

@JonSkeet Derp, danke. –

Antwort

0
@if (subPages.Count() > 0) 
    { 
     <ul> 
      @foreach (var subPage in subPages) 
      { 
       var genderQuery = Request.QueryString.Get("gender"); 

       if (subPage.Children.Count() > 0 && 
        (genderQuery == null || 
      subPage.GetPropertyValue<bool>("gender") == bool.Parse(genderQuery))) 
       { 
        <li class="child @(CurrentPage.Name == subPage.Name ? currentClass :"")"> 

         <a href="@subPage.Url">@subPage.Name </a> 
         <a href="@subPage.Parent.Parent.Url" class="@(CurrentPage.Name == subPage.Name ? currentClass : "hide")"><i class="fa fa-close"></i></a> 
        </li> 
       } 
      } 
     </ul> 
    } 
+0

Das war genau das, wonach ich suchte! Danke Cetin –

Verwandte Themen