I am trying to use a content picker's value for a href in a partial view but I am struggling to get the format right...
I have been using
@(node.GetPropertyValue("propertyAlias"))
but when I use this in an it just displays the ID of the node. How can I get it to give me the URL of the node?
<a href="@(node.GetPropertyValue("link"))">Link</a>
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
var items = CurrentPage.FirstChild("folder").Children("item").Where("Visible");
}
<div class="row tile-row">
@foreach(var node in items)
{
<div class="col-md-3">
<div class="tile">
<h3>@(node.GetPropertyValue("itemTitle"))</h3>
@(node.GetPropertyValue("itemBodyText"))<br/>
@(node.getPropertyValue("itemButtonLink"))
<a class="btn btn-more" href="@(node.GetPropertyValue("itemeButtonLink"))">
@(node.GetPropertyValue("itemButtonText"))
</a>
</div>
</div>
}
</div><!--/.row-->
答案 0 :(得分:2)
您可以使用:
@Umbraco.NiceUrl(id of the node)
如果您还想要域名:
@Umbraco.NiceUrlWithDomain(id of the node)
更新:
@{
if (Model.Content.HasValue("contentPicker")){
var node = Umbraco.TypedContent(Model.Content.GetPropertyValue<int>("contentPicker"));
<a href="@node.Url">@node.Name</a>
}
}
其中contentPicker
将是您的内容搜索器数据类型的属性别名。
答案 1 :(得分:1)
我设法使用下面的代码获取该项目的网址
<p>@Umbraco.NiceUrl(node.GetPropertyValue<int>("itemButtonLink"))</p>
<a href="@Umbraco.NiceUrl(node.GetPropertyValue<int>("itemButtonLink"))">
@(node.GetPropertyValue("itemButtonText")
</a>
我希望这可以帮助那些一直在努力解决同一问题的人 - 信用欠 - https://gist.github.com/tobbbe/7784542