我使用多个数据(如“标题图像内容”链接)创建原型字段。我可以获取标题内容的值,但链接会显示输出。
[{“名称”:“查看网站”,“网址”:“ 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>
}
}
答案 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>