【问题标题】:How to get the link from archetype single url picker in umbraco如何从 umbraco 中的原型单网址选择器获取链接
【发布时间】:2019-01-13 23:57:25
【问题描述】:

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

[ { "name": "查看网站", "url": "www.google.com", "target": "_blank", "icon": "icon-link" } ]

如何从链接中获取 URL

@{

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

}

@if (property != 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>

}

}

【问题讨论】:

    标签: c# asp.net-mvc umbraco


    【解决方案1】:

    这在一定程度上取决于您的 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>
    

    【讨论】:

    • 对于链接它显示类型或命名空间名称“链接”找不到(AreaReference 您缺少指令或程序集引用)
    • 哦,是的,我的错 - 你需要添加一个@using RJP.MultiUrlPicker.Models - 我也添加到我的答案中:)
    • 请将我的回答标记为您的问题的解决方案 :)
    • 找不到类型或命名空间名称“RJP”。你能帮我@Mikkel吗?
    • @hubert17 - 你需要安装 RJP Nuget 包,然后 RJP.MultiUrlPicker.Models 应该可用:) nuget.org/packages/RJP.UmbracoMultiUrlPicker
    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多