如何从登录页面获取受保护的页面节点ID?

时间:2013-02-19 09:35:59

标签: asp.net umbraco

我的umbraco中有一些基于角色的受保护页面。这是其中一个页面的smaple URL

http://aksphases:201/xmas-shop/phases-shop.aspx

当有人在浏览器中输入此内容时,这将转到登录页面而不更改URL,当他输入正确的登录凭据时,他将看到正确的页面内容而没有任何URL更改(是的,这就是umbraco的方式工作)。 现在我需要的是 当他在登录页面时,我想获得受保护页面的节点ID。 我试过的时候

 @CurrentModel.Id

显示登录页面的节点ID。   由于URL是受保护页面,我相信我可以从这里获得受保护页面的ID。任何人都可以给我任何线索吗?

1 个答案:

答案 0 :(得分:1)

uQuery有一个GetNodeByUrl方法可以帮到你。从Umbraco v4.8开始,uQuery内置于Umbraco。

使用razor,你应该能够做到这样的事情:

@{
    string url = HttpContext.Current.Request.Url.AbsolutePath;
    var node = Library.NodeById(umbraco.uQuery.GetNodeByUrl(url).Id);

    @node.Name
}