2016-06-23 5 views
2

두 모델의 데이터를 표시해야하는 뷰 (EditView)가 있습니다. 이를 위해 나는MVC 뷰에 예상 데이터가 포함되어 있지 않습니다.

public class MergeModel 
{ 
    public Reservation Reservation { get; set; } 
    public ViewTrain ViewTrain { get; set; } 

} 

처럼 하나 개의 클래스에이 개 모델을 넣어보기에 나는 @model MergeModel로 첫 선을 넣어. 하지만 제 문제는 ViewTrain 모델의 데이터를 예약 모델의 데이터가 아닌 EditView으로 보내므로보기와 같은 오류가 표시 될 때 MergeModel이 표시되지만 ViewTrain 모델을 보내고 있습니다. 이제 이것을 해결하기 위해 무엇을해야합니까? 세부 사항 : trainId, TrainName, StartPlace 및 EndPlace가 포함 된 ViewTrain 모델이 있으며 ReserveId, trainId, TrainName, StartPlace, EndPlace, NeedNoOfSeats가 포함 된 Reservation 모델이 있습니다. startPlace와 EndPlace를 입력하면 사용할 수있는 관련 열차가 표시되는보기가 있습니다. 특정 열차 세부 사항에서 select 옵션을 클릭하면 trainId, TrainName, StartPlace 및 endPlace와 같은 세부 정보가 모두 자동 채워 져야하고 NeedNoOfSeats 텍스트 상자가 자리 수를 입력 할 수 있어야하지만 Im이 아닌 새보기가 렌더링되어야합니다. 이 일을 할 수있다 ..

+1

더 많은 아마도 포함 조금 정교해야 할 수도 있습니다를 반환해야 일부 샘플 코드; 이와 같은 질문은 대개 downvoted됩니다. –

+0

작업에서 뷰 모델을 어떻게 채우고 있습니까? – Richard

+0

컨트롤러에서 잘못된 모델을보기로 반환합니다. 따라서 컨트롤러 동작 코드를 질문에 추가하면 무엇을 변경해야하는지 쉽게 알 수 있습니다. –

답변

0

클래스 Reservation처럼 보일 수도 있습니다, 그 클래스의 인스턴스를 만들 수 있습니다. 이처럼

- 다음 세부 사항을 게시하지 않는 경우이, 도움이

new MergeModel{ new Reservation(), new ViewTrain() }; 

희망. 당신은 액션 메소드에서 MergeModel 클래스

public MergeModel() 
    { 
     Reservation = new Reservation(); 
     ViewTrain = new ViewTrain(); 
    } 

2)에 생성자 메서드를 추가해야합니다

1

1) 당신은 MergModel 객체

MergeModel model=new MergeModel(); 
//fill data to model 
return View(model); 
+0

내 동작 방법은 다음과 같습니다. -> [HttpGet] public ActionResult EditReservation (int TrainId) {TrainBusinessLayer trainBusinessLayer = new TrainBusinessLayer(); ViewTrain viewtrain = trainBusinessLayer.ViewTrains.Single (x => x.TrainId == TrainId); 반환보기 (viewtrain); MergeModel 객체를 반환하려면 어떻게해야합니까? –

+0

반송선을 삭제하고 다음을 추가하십시오. – Mehmet

+0

MergeModel 모델 = 새 MergeModel(); model.ViewTrain = viewtrain; 반환보기 (모델); – Mehmet

관련 문제