我正在开发一个 mvc 4 应用程序,我即将完成。我遇到的唯一问题是在用户填写的多页表单的末尾,我想要一个显示他们输入的所有信息的摘要页面。我认为最简单的方法是通过使用部分视图来显示来自不同页面的表单数据,他们在其中输入了数据。从表单的页面到页面,传递一个 int 参数,该参数表示他们正在填写的表单的数据库中的 id 号(用户会提前通过电子邮件发送该 id,因为他们需要它来登录)。问题是,一旦表单完成并加载了摘要页面,主视图就会加载 id 参数(例如它的 mysite.com/vendor/quotesummary/22),但我不知道如何通过那个参数,到局部视图以加载正确的数据。所以这就是我的代码的样子:
在我的控制器中:
[HttpGet]
public ActionResult QuoteSummary(int id = 0)
{
General_Info general_info = unitOfWork.General_Info_Repository.GetByID(id);
return View(new QuotesViewModel(general_info));
}
[HttpGet]
[ChildActionOnly]
public ActionResult GenInfoSummary()
{
return View(new QuotesViewModel());
}
[HttpGet]
[ChildActionOnly]
public ActionResult QuoteDataSummary()
{
return View(new QuotesViewModel());
}
然后在我的 QuoteSummary 视图中,我有:
@model SourceMvc.DAL.QuotesViewModel
@{
ViewBag.Title = "QuoteSummary";
}
<h2>Quote Summary</h2>
@Html.Partial("QuoteSummaryChildOne", new SourceMvc.DAL.QuotesViewModel());
@Html.Partial("QuoteSummaryChildTwo", new SourceMvc.DAL.QuotesViewModel());
就像我说的那样,我的 QuoteSummary 正在加载正确的 id 参数,即使在我可以将该参数传递给部分视图之前,这没有任何意义。
两天来我一直在试图解决这个问题,我觉得答案必须很简单,这就是为什么它如此令人沮丧。你们可以提供的任何帮助将不胜感激。