나는 이것이 바보 같은 질문이라는 것을 알고 있습니다. 그 대답은 "물론입니다. 물론!" 하나. 내가 추가 할 RenderPartial을 수행하는 동안 내 주요 편집 형태로 ASP.NET MVC에서 사용자 정의 모델 바인더 일하고인터페이스 구현시 유형별 속성 수정
public interface IEvent {
int Id
string Title
}
public class MeetingEvent : IEvent {
int Id
string Title
//Meeting Properties
string Room;
User Organizer;
}
public class BirthdayEvent : IEvent {
int Id
string Title
//Bday Properties
int Candles;
bool Surprise;
}
는 IEvent에서 상속 : 여기
내가 가진 무엇 다른 유형별 필드모델 바인더에 도달하면 형식에 대한 모든 키/값을 볼 수 있습니다.
IEvent _event;
switch (eventType) { // EventType is an enum
case EventType.Birthday:
_event = new BirthdayEvent();
_event.Candles= GetValue<int>(bindingContext, "Candles");
_event.Surprise= GetValue<bool>(bindingContext, "Surprise");
break;
case EventType.Meeting:
_event = new MeetingEvent();
// Meeting-specific fields are set here...
break;
default:
throw new InvalidOperationException("Invalid Event Type");
}
은 본질적으로, 내가 IEvent 변수를 원하고 나는 IEvent를 구현하는 특정 이벤트 유형을 생성하고 유형 특정 필드를 설정하려면 : 지금, 나는이 작업을 수행 할 수 있습니다. Visual Studio에서 BirthdayEvent 필드에 액세스 할 수 없다고 알려줍니다.
나는 이것을 이해하고 있지만, 나는 내가해야 할 일을 알아낼 수 없다. 따라서,이 질문 :).
미리 감사드립니다.
VAR! 굉장, Keltex, 고마워 :) – Dan