如何在Umbraco中从url中删除节点id和扩展名

如何在Umbraco中从url中删除节点id和扩展名,umbraco,Umbraco,现在我正在做一个项目,我必须用url选择器数据类型显示标题导航,为此我选择了两个字段:文本(文本字符串)和链接(url选择器) 要获取此导航链接,我执行了以下代码: Default.aspx <asp:Repeater ID="rptMainNavListing" runat="server" OnItemDataBound="rptMainNavListing_OnItemDataBound"> <HeaderTemplate>

现在我正在做一个项目,我必须用url选择器数据类型显示标题导航,为此我选择了两个字段:文本(文本字符串)和链接(url选择器)

要获取此导航链接,我执行了以下代码:

Default.aspx

 <asp:Repeater ID="rptMainNavListing" runat="server" OnItemDataBound="rptMainNavListing_OnItemDataBound">
                <HeaderTemplate>
                    <div class="header_top_links_right">
                        <ul>
                </HeaderTemplate>
                <ItemTemplate>
                    <li>
                        <asp:HyperLink ID="hlLink" runat="server">
                        </asp:HyperLink>
                        <asp:Literal ID="ltText" runat="server"></asp:Literal>
                    </li>
                </ItemTemplate>
                <FooterTemplate>
                    </ul>
                         </div>
                </FooterTemplate>
            </asp:Repeater>
调试完这段代码后,我得到了如下形式的url(带有id和扩展名)


我只希望url类似于“Regions”。

在web.config中,将umbracouseDirectoryURL值设置为true


这里有一些相当过时的文档:

将您的代码更改为以下代码……您将摆脱这个问题:-)

中继器代码

  protected void rptMainNavListing_OnItemDataBound(object sender, RepeaterItemEventArgs e) {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
                Node itm = e.Item.DataItem as Node;
                if (itm != null) {
                    Literal ltText = (Literal)e.Item.FindControl("ltText");
                    HyperLink hlLink = e.Item.FindControl("hlLink") as HyperLink;
                    if (itm.GetProperty(FieldName.LINK) != null && !string.IsNullOrEmpty(itm.GetProperty(FieldName.LINK).Value)) {
                        hlLink.NavigateUrl = umbraco.library.NiceUrl(Convert.ToInt16(itm.GetProperty(FieldName.LINK).Value));
                    }
                    hlLink.Text = itm.GetProperty(FieldName.TEXT).Value;
                }
            }
        }

如果答案解决了您的问题,请将其标记为已回答。如果您有更多问题,请创建一个新问题。
False1154/regions.aspxRegions 
here id =False1154
extension =regions.aspx
if (childList.Count > 0) {
                    rptMainNavListing.DataSource = childList; ;
                    rptMainNavListing.DataBind();

                }
  protected void rptMainNavListing_OnItemDataBound(object sender, RepeaterItemEventArgs e) {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
                Node itm = e.Item.DataItem as Node;
                if (itm != null) {
                    Literal ltText = (Literal)e.Item.FindControl("ltText");
                    HyperLink hlLink = e.Item.FindControl("hlLink") as HyperLink;
                    if (itm.GetProperty(FieldName.LINK) != null && !string.IsNullOrEmpty(itm.GetProperty(FieldName.LINK).Value)) {
                        hlLink.NavigateUrl = umbraco.library.NiceUrl(Convert.ToInt16(itm.GetProperty(FieldName.LINK).Value));
                    }
                    hlLink.Text = itm.GetProperty(FieldName.TEXT).Value;
                }
            }
        }