如何从umbraco中的原型单一URL选择器获取链接

时间:2019-01-12 17:05:50

标签: c# asp.net-mvc umbraco

我使用多个数据(如“标题图像内容”链接)创建原型字段。我可以获取标题内容的值,但链接会显示输出。

[{“名称”:“查看网站”,“网址”:“ www.google.com”,“目标”:“ _ blank”,“图标”:“图标链接”}}

如何从链接获取网址

@ {

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>

}

}

1 个答案:

答案 0 :(得分:0)

这取决于您的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>