布尔值不能为空



我正在开发一个 Umbraco 7 网站,其中的产品被布尔值过滤。

  • 真 = 男性
  • 假 = 女性

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

但是,如果我在 URL 中没有任何QueryStrying.Get("gender"),它会返回一个错误,告知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>
}

相关内容

  • 没有找到相关文章

最新更新