如何在Umbraco中的第一个/之后删除Url值

时间:2018-12-23 03:30:32

标签: c# umbraco

我有2个带有宏部分的标头,如果URL包含特定名称,则正在获取它,例如,假设当前URL为www.exaple.com/aboutwww.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 /

1 个答案:

答案 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