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