我正在开发一个Umbraco 7网站,用布尔值过滤产品。
我Request.QueryString.Get("gender")
并收到true
或false
值,我将其解析为subPage.GetPropertyValue<bool>("gender")
,然后呈现true
或false
的产品{1}}。那部分工作正常。
然而如果我在网址中没有任何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>
}
答案 0 :(得分: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>
}