MVC视图不包含预期的数据

时间:2016-06-23 11:43:18

标签: asp.net-mvc

我有一个应该显示2个模型数据的视图(EditView)。为此,我将2个模型放在一个类中,如

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

}

在视图中我将第一行设为@model MergeModel。但我的问题是我只将ViewTrain模型的数据发送到EditView而不是预定模型的数据,所以它显示的错误就像视图期待MergeModel但是你发送的{{1}模型。那么我现在应该怎么做才能解决这个问题呢? 详细说明:我有一个ViewTrain模型,其中包含trainId,TrainName,StartPlace和EndPlace,我有预约模型,其中包含ReserveId,trainId,TrainName,StartPlace,EndPlace,NeedNoOfSeats。我有一个观点,如果我输入startPlace和EndPlace,它将显示相关的列车可用。在特定的列车细节上,如果我点击选择选项,应该呈现一个新视图,其中所有这些细节,如trainId,TrainName,StartPlace和endPlace应该自动填充,NeedNoOfSeats文本框应该可用于输入席位数,但我不是能做到这一点..

2 个答案:

答案 0 :(得分:1)

1)您应该将Constructor方法添加到MergeModel Class

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

2)在action方法中,你应该返回一个MergModel对象

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

答案 1 :(得分:0)

似乎类Reservation可能为null,创建该类的实例。

喜欢这个 -

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

希望这有帮助,如果没有,则发布更多细节。