Umbraco 4.11 MVC模式 - 儿童网址?

Sam*_*Sam 3 asp.net-mvc umbraco

在MVC模式下使用Umbraco 4.11时获取当前节点子节点的URL的正确方法是什么?这是我试过的,它不断返回一个空白的URL:

@if (CurrentPage.Children().Count() > 0) {
    <ul>
    @foreach (var child in CurrentPage.Children()) {
        <li><a href="@child.Url">@child.Name</a></li>
    }
    </ul>
}
Run Code Online (Sandbox Code Playgroud)

当这不起作用时,我采取了以下措施:

@Umbraco.NiceUrl(child.Id)
Run Code Online (Sandbox Code Playgroud)

这会返回一个URL,但它上面有.aspx扩展名.所以我的下一个黑客是......

@Umbraco.NiceUrl(child.Id).Replace(".aspx", "")
Run Code Online (Sandbox Code Playgroud)

这并不完全可怕,但我想知道我是否遗漏了什么?

Mar*_*Put 6

您需要NiceUrl()方法来生成有效的Url.要摆脱.aspx扩展名,需要在web.config文件中将"umbracoUseDirectoryUrls"设置为true:

<add key="umbracoUseDirectoryUrls" value="true" />
Run Code Online (Sandbox Code Playgroud)