布尔值不能为空

Bool value cannot be null

我在 Umbraco 7 网站上工作,其中的产品由布尔值过滤。

Request.QueryString.Get("gender") 并收到一个 truefalse 值,我将其解析为 subPage.GetPropertyValue<bool>("gender"),然后呈现出 true 的产品或 false。那部分工作正常。

但是 如果我在 URL 中没有任何 QueryStrying.Get("gender") 它 returns 一个错误告诉 Value cannot be null.

如何防止这种情况发生?我尝试用 var genderQuery 包装 @if (Request.QueryString.Get("gender") != null) 但后来我无法从 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>
    }
 @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>
    }