2011-09-18 2 views
1

Html.LabelFor는 DisplayAttribute의 Name을 사용하지 않습니다.

[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

은 또한 ResourceType 설정해야합니다. 현지화를 사용하지 않으려면 DisplayNameAttribute을 사용해보세요.

+0

내가 현지화에 대해 알고 있지만 여기서 문제는 displayattribute에서 적절한 이름을 얻기 위해 EditorForModel을 사용해야한다는 것입니다. – Marcus

+0

모델에서 missin 인 resourcetype을 설정하려 했습니까? 무슨 일인데? 디스플레이 속성 만 있으면 되나요? – Iridio

+0

resourcetype 및 dislayname 특성으로 시도했지만이 중 아무 것도 작동하지 않지만 여전히 레이블 텍스트의 속성 이름을 사용합니다. – Marcus

관련 문제