2011-09-18 23 views
1

我有这样Html.LabelFor不使用名称从DisplayAttribute

[MetadataType(typeof(PageMetadataMetadata))] 
public class PageMetadata : IPageMetadata { 
    public virtual string Name { get; set; } 
} 

模型和我的元数据类这样

internal class PageMetadataMetadata { 
    [Display(Name = "Title", Order = 10, Prompt = "My awesome page")] 
    [Required(ErrorMessage = "Name_Required")] 
    public virtual string Name { get; set; } 
} 

当我使用这个模型在我看来,我不能让它从我的DisplayAttribute使用名称?

@Html.LabelFor(model => model.CurrentModel.Metadata.Name) 

回答

1

随着DisplayAttribute,你必须也ResourceType设置。如果你不想使用本地化尝试使用DisplayNameAttribute

+0

我知道本地化,但这里的问题是,我必须使用EditorForModel从displayattribute获取正确的名称och displaynameattribute – Marcus

+0

您是否尝试过设置模型中的missin资源类型?发生了什么?只有显示属性? – Iridio

+0

我尝试过使用资源类型和dislayname属性,但没有一个能够工作,它仍然使用属性名称作为标签文本 – Marcus