2

나는 여러 번 문제를 봤다. 그러나 나는 이것을 할 수있는 해결책을 찾지 못했습니다.mvc3 면도기에서 맞춤 데이터 유형을 만들고 구현하는 방법

나는 mvc3 면도기에서의 사용을위한 기본 EditorTemplateDisplayTemplate와 사용자 정의 DataType을 만들려고합니다.

모델

[DataType("MyCustomDataType")] 
public MyType Property { get; set; } 
// I mean by MyType any type of data: string, int, datetime and so on 

보기 -

@Html.DisplayFor(m => m.Property) //or @Html.EditorFor(m => m.Property) 

면도기

는 사실은 내가 기본 편집기 템플릿 및 디스플레이 템플릿과 재사용 가능한 데이터 유형을 만들려고합니다.

제안 사항이 있으십니까? 유용한 링크를 주시겠습니까? 가능한 경우 간단한 예제를 제공해 주시겠습니까? 미리 감사드립니다.

+0

'Type'은'C# '의 클래스입니다. 그게 여기 있다고 생각하지 않는다, 그렇지? – Mohayemin

+0

@ 모하메 민 당신 말이 맞습니다. 나는 어떤 타입이든'Type'을 의미합니다. 나는 질문을 업데이트한다. –

+0

글쎄, 귀하의 질문은 당신이 [이] (http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html)을 찾고 있다고 제안합니다. 또는 나는 무엇인가 놓치고있다? – Mohayemin

답변

2

this에 다음과 같은 유래 포스트를 살펴 사용자 정의 편집기/디스플레이 템플릿에 대한 훌륭한 입문서입니다 되세요. 그것의 면도기 구문에 있지 않지만, 그것의 쉽게 컨버터블. 당신이 Datatype 속성에 따라 편집기 템플릿을 만들려면 값이 사용자 정의 데이터 형식 값, 당신이 원하는 무엇도 할 인 경우

, 당신은 ViewData.ModelMetadata.AdditionalValues["DataTypeAttribute"]

를 사용하여 속성 값을 얻을 수 있습니다. 그렇지 않으면 기본값을 사용하십시오.

좋은 생각인지 확실하지 않습니다. 그러나 그것은 효과가있다.

+1

+1을 수락합니다. 좋은 생각입니다. 나는 너와 똑같은 아이디어가 있다고 말했다. 구현하고 실행하면 작동합니다. 대화 덕분에, 당신의 안내가 저에게 아이디어를줍니다. –

0

새 유형, 즉보기에 전송하는 모델에 포함 할 수있는 Person 클래스를 작성할 수 있습니다. 즉 Model.Person입니다.

Person이라는 이름으로 새 EditorTemplate 및 DisplayTemplate을 정의합니다. 기본적으로 @ Html.EditorTemplateFor (x => x.Person) 호출; 유형에 대한 EditorTemplate을 찾습니다.

"How to use asp.net mvc Editor Templates"

+0

Nop 틀렸어. Q의 코멘트를 참조하십시오. 내 영어가 너무 안좋아. 죄송합니다) : –

관련 문제