我有2个带有宏部分的标头,如果URL包含特定名称,则正在获取它,例如,假设当前URL为www.exaple.com/about
和www.exaple.com/about/dynamic_url
现在,我需要删除该动态网址,这意味着如果Url包含大约,那么无论如何都要获取标头。
对于umraco来说是新手,我们将不胜感激。 TIA
@{
if (CurrentPage.Name.ToLower() == "contact" || CurrentPage.Name.ToLower() == "about" || CurrentPage.Name.ToLower() == "hotels" || CurrentPage.Name.ToLower() == "tours")
{
@Umbraco.RenderMacro("SecondaryHeader")
}
else
{
@Umbraco.RenderMacro("Header")
}
}
这是我的代码,我的URL是http://localhost:64760/tours/suspendisse-tour 所以我需要删除/ suspendisse-tour /
答案 0 :(得分:0)
您可以使用CurrentPage.AncestorOrSelf(1).Name.ToLower()
代替CurrentPage.Name.ToLower()
扩展方法AncestorOrSelf(1)将根据传递的参数获取节点的第n级-在我的示例中为1。
在您的示例中,通过使用Url
中的属性CurrentPage.AncestorOrSelf(1)
,它将始终返回其祖先的URL,而不是当前页面的URL。
因此,它将始终返回/ tours /。而不是/ tours / suspendisse-tour。
有关此方法的更多详细信息,请查看here。