在MVC中保存用户信息(在不同视图上显示相同数据)

时间:2015-09-28 07:49:18

标签: asp.net-mvc-4

我可以使用一些帮助来找到保存用户在迷你预订网站中选择的数据的最佳方式。

现在我的预订流程包含4个步骤(4个视图)。这4个视图中的每一个都有自己的模型链接。

让我们说在第一页上,我正在保存出发/返回日期等信息。该信息存储在模型中。如何将此信息传递给其他模型的最佳方式?我不认为最终创建一个包含所有4个模型的viewmodel是一个很好的解决方案。

我试图做的是创建一个可以保存数据的类。在进行下一步之前,我将数据保存到此类并将所需数据存储在下一个模型中。

场景如下:

  • 使用第1步模型(BookingModel)
  • 将数据存储到选择类
  • 在显示视图之前,将必要的数据从选择类发送到新模型(RoutesModel)。
  • 使用第2步模型(RoutesModel)
  • 将数据存储到选择类
  • 在显示视图之前,将必要的数据从选择类发送到新模型(TpaModel)。

依旧......

现在我可以在步骤1中将数据保存到选项类,但是当我尝试将数据发送到其他模型时,它会失败,因为选项中的字段为空。

public class Choices
{      
    public DateTime Departuredate { get; set; }
    public DateTime Returndate { get; set; }      
}

如何在步骤2中加载数据并为控制器创建模型:

RoutesController(第2步):

 // GET: Routes
    public ActionResult Index()
    {
        var model = _routeModelService.CreateRouteModel();
        return View(model);
    }

创建RoutesModel的助手类

public class RouteModelService
{
    private Choices _Choices;

    public RouteModelService()
    {
        _Choices = new Choices();
    }

    public RouteModel CreateRouteModel(RouteModel model = null)
    {
        if (model == null)
        {
            model = new RouteModel()
            {

            };

            model.DepartureDate = _Choices.Departuredate;
            model.ReturnDate = _Choices.Returndate;

        }
        return model;
    }
}

是不是因为我创造了一个新的选择时刻呢?

0 个答案:

没有答案