MVC3 응용 프로그램에서 사용자 정의 컨트롤을 만들고 있습니다. 내보기 모델은 다음과 같습니다 나는 [DataType]
속성을 사용할 수 있도록ASP.NET MVC3 Html.Editor 객체의 속성 및 속성
public class MyViewModel
{
public object Value { get; set; }
}
Value 속성은 INT, 문자열 또는 부울을 수 있습니다. 내가보기 모델을 만들 때
는 :
var viewModel = new MyViewModel { Value = "" };
또는
var viewModel = new MyViewModel { Value = 1 };
는이 코드 가정 :
<%: Html.EditorFor(p => p.Value) %>
유형의 텍스트 상자의 HTML 입력을 렌더링합니다. 불행하게도 아무 것도 렌더링되지 않습니다.
bool 값 또는 일부 비어있는 문자열을 사용하면 모든 것이 잘 작동합니다. 나는 몇 가지 조사를했다
,하지만 지금 나는 해결책을 발견하지 않았다 :
var viewModel = new MyViewModel { Value = true };
Html.EditorFor
은 체크 박스의 입력을 렌더링 : 다음은 그 예입니다.
이것은 단순화 된 예입니다. 실제 앱에서는 제네릭 유형이 있습니다. 하지만 MyViewModel 목록을 만들 수 있어야합니다. 아시겠지만 제네릭 형식의 목록을 만들 수 없으므로 object 유형의 Value라는 속성을 사용하여 인터페이스 (IMyViewModel)를 만들었습니다. – krolik