如何从 umbraco 中的原型单个 url 选择器中获取 link

How to get the link from archetype single url picker in umbraco

我使用标题图片内容等多个数据创建原型字段 link。我可以获得标题内容值的值,但 link 显示输出。

[ { "name": "View Website", "url": "www.google.com", "target": "_blank", "icon": "icon-link" } ]

如何从 link

得到 Url

@{

var property = Model.Content.GetPropertyValue<ArchetypeModel>("exhibitorLogos");

}

@if (属性 != null && property.Any()) {

foreach (var item in property)
{


    var imageId = item.GetValue<int>("image");
    var imgurlbannerLogoUrl = Umbraco.Media(imageId.ToString()).Url;
    var text = item.GetValue<string>("name");
    var content = item.GetValue<string>("content");
    var link = item.GetValue<string>("link");


    <h1>@text</h1>
    <img src="@imgurlbannerLogoUrl"/>
    <p>@content</p>
    <a href="@link">ReadMore</a>

}

}

这在一定程度上取决于您的 Umbraco 版本和您使用的 URL Picker 的版本,请尝试以下操作。

添加 using 语句:

@using RJP.MultiUrlPicker.Models

然后执行以下操作之一。

或者这个:

foreach (var item in property)
{


    var imageId = item.GetValue<int>("image");
    var imgurlbannerLogoUrl = Umbraco.Media(imageId.ToString()).Url;
    var text = item.GetValue<string>("name");
    var content = item.GetValue<string>("content");
    var link = item.GetValue<Link>("link");


    <h1>@text</h1>
    <img src="@imgurlbannerLogoUrl"/>
    <p>@content</p>
    <a href="@link">ReadMore</a>

}

或者这样:

foreach (var item in property)
{
    var imageId = item.GetValue<int>("image");
    var imgurlbannerLogoUrl = Umbraco.Media(imageId.ToString()).Url;
    var text = item.GetValue<string>("name");
    var content = item.GetValue<string>("content");
    var link = item.GetValue<IEnumerable<Link>>("link").FirstOrDefault();


    <h1>@text</h1>
    <img src="@imgurlbannerLogoUrl"/>
    <p>@content</p>
    <a href="@link">ReadMore</a>

}

然后您可以简单地执行以下操作:

<a href="@link.Url" target="@link.Target">@link.Name</a>