Umbraco页面名称而不是页面ID

时间:2013-04-26 09:08:18

标签: asp.net umbraco

我正在思考一个与Umbraco有关的问题。

在管理员中,我允许使用上传类型属性上传图片

然后,用户可以使用内容选择器类型属性选择网站上的页面。

然后使用以下锚标记代码

包装图像

问题是该链接返回所选页面的ID,即http://listerivf.whclpreview.com/1107而不是http://listerivf.whclpreview.com/egg-donors.aspx,任何人都可以帮助我使用锚标记代码href代码,谢谢!

<a href="<%= umbraco.presentation.nodeFactory.Node.GetCurrent().GetProperty("imageLink").Value %>">
      <umbraco:Image runat="server" field="au1" width="302" height="215" class="thumbnail" /></a>

1 个答案:

答案 0 :(得分:0)

以下是我处理这些图像的方法。我经常只想在选择图像时显示我的图像标记(通常包含视觉元素)。所以我用:

@{
    var myImageSrc = Utilities.GetMediaSrcOrEmptyString(Model.image.ToString());
}

此功能是:

public static string GetMediaSrcOrEmptyString(string nodeId)
{
    if (nodeId != "")
    {
        dynamic mediaItem = new DynamicNode(Convert.ToInt32(nodeId));
        return mediaItem.umbracoFile;
    }
    return "";
}

然后我可以使用以下内容打印我的标记:

@if (myImageSrc != "")
{
    <div class="myClassForImage">
        <img src="/ImageGen.ashx?width=465&image=@imageSrc" width="465" alt="@Model.someField"/>
    </div>
    <br/>
}

非常简单,但非常有用!