2016-12-22 7 views
0

제품이 부울로 필터링되는 Umbraco 7 웹 사이트에서 작업하고 있습니다.Bool 값은 null 일 수 없습니다.

  • = 진정한 남성
  • 거짓 = 여성

    I Request.QueryString.Get("gender")

내가 다음 true 또는 false 중 하나 인 제품을 렌더링하는 subPage.GetPropertyValue<bool>("gender")으로 분석 true 또는 false 값을받을. 그 부분은 잘 작동합니다. 나는 URL에있는 QueryStrying.Get("gender")이없는 경우

그러나는 내가이를 방지 할 방법 Value cannot be null.

를 알려주는 오류를 반환? 나는 @if (Request.QueryString.Get("gender") != null)var genderQuery을 포장하려하지만 나는 내부에서 그것을 그랩 수없는 foreach

내 코드 :

@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

그럼 당신이 genderQuery''경우 어떻게 무엇을 원하는가 null, 즉 쿼리 문자열에 없습니다. –

+0

@EdPlunkett : 아니요. 'genderQuery'는'string'이며'bool?'이 아닙니다. –

+0

@JonSkeet Derp, 감사합니다. –

답변

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

정확히 내가 찾고 있었던 것이 었습니다! 감사 Cetin –