在Umbraco母版页中显示用户上传的图像

时间:2011-12-20 10:06:38

标签: asp.net master-pages umbraco

我正在使用Umbraco 4.7.1并创建了一个名为“Partner”的自定义DocumentType。我想在母版页中使用该自定义DocumentType。我会展示代码。

public class Partner : IdentifyingMarkRemoved.DocumentTypes.Page {

    [DocumentTypeProperty(UmbracoPropertyType.Textstring, Mandatory = true, Tab = "Content")]
    public string PartnerName { get; set; }

    [DocumentTypeProperty(UmbracoPropertyType.Textstring, Mandatory = true, Tab = "Content")]
    public string PartnerLevel { get; set; }

    [DocumentTypeProperty(UmbracoPropertyType.Upload, Mandatory = true, Tab = "Content")]
    public string PartnerLogo { get; set; }

    [DocumentTypeProperty(UmbracoPropertyType.RichtextEditor, Mandatory = true, Tab = "Content")]
    public string PartnerDescription { get; set; }
}

这就是自定义DocumentType。

Masterpage看起来像这样:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<div id="partnerName"><%= this.CurrentContent.PartnerName %></div>
<div id="partnerLevel"><%= this.CurrentContent.PartnerLevel %></div>
<div id="partnerLogo"><%= this.CurrentContent.PartnerLogo %></div>
<div id="partnerDescription"><%= this.CurrentContent.PartnerDescription %></div>
</asp:Content>

基本上发生的是用户将创建“合作伙伴”类型的新页面,应用程序将要求他们提供这四条信息。

用户将上传图像,并在创建结果页面时,图像显示在页面上。

问题是,我在测试时得到的是:

partnersname

partnerslevel

/media/541/plogo.jpg

再次随机文字

我曾尝试将PartnerLogo表示为类型“对象”,因此我可以将其转换为“图像”类型,但这会给我一个错误。

我已经尝试在后面的代码中执行此操作,但同样,我收到错误。

我尝试了各种引号和嵌套asp命令的组合,但似乎没有任何工作。

我确实感觉到我正处于获得这个权利的边缘,但我太过于一个ASP菜鸟,知道我哪里出错了。

期待一些帮助!

1 个答案:

答案 0 :(得分:1)

图像存储为字符串,引用要在其中找到图像的URL。因此,您需要在HTML中添加自己的标记。 这样的事情应该有效:

<img src='<%= this.CurrentContent.PartnerLogo %>' />