将模型通过页面传递到另一个页面

时间:2014-10-23 16:39:24

标签: c# asp.net-mvc

我们有一个使用两步流程的工作申请。我需要稍微调整一下。我能看到这样做的最简单方法是从第一步中删除应用程序创建阶段,然后将其传递给第二步,这是一个单独的视图。

第1页 - 第1步

public ActionResult Apply(JobApplicant jobapp, string HiddenJobId)
        {
            jobapp.JobID = Convert.ToInt32(HiddenJobId);
            //JobsHelper.CreateJobApplicant(jobapp);

            return View("ApplyResume", jobapp); 
        }

以上代码用于CreateJopApplication()。我对此进行了评论,现在将其传递给下一步/页面。

然而,一旦在这个新页面上,我就会得到一个[HttpPost],它会占用jobapp,但此时它全部为空。

jobapp(JobApplication)大约有140列,我不想为所有这些列创建隐藏文本字段。是否有更简单的方法将模型传递到两个页面?

第2步 - 第2页

[HttpPost]
        public ActionResult Upload(HttpPostedFileBase file, string applicantId, string coverLetter, JobApplicant jobapp)
        {
            // jobapp is null during this entire step, passed in null its as if the page before never had it.
            JobsHelper.CreateJobApplicant(jobapp);
            .......

1 个答案:

答案 0 :(得分:1)

您可以使用TempData。它就像一个会话状态,但一旦被使用就被删除了。这是一次往返的好方法。

使用像MVC这样的无状态框架,您可以:

  • 使用隐藏字段在表单中保留
  • 坚持数据库
  • 坚持会话状态或临时状态
相关问题