我正在尝试弄清楚如何在视图之间传递模型。
这是我的做法,我有一个Register、RegisterConfirm和RegisterComplete视图。
用户从Register开始,填写信息,点击继续并发布到RegisterConfirm,在那里他们点击复选框同意隐私政策,然后发布到RegisterComplete,根据第一个Register视图中的模型创建用户。
代码:
[GET("Account/Register")] public ActionResult Register() { return View(); }
[POST("Account/Register/Confirm")] public ActionResult RegisterConfirm(RegisterModel model) { if (ModelState.IsValid) { return View(model); } else { return View("Register", model); } }
[POST("Account/Register/Complete")] public ActionResult RegisterComplete(RegisterModel model, bool agree) { if (agree) { // 创建用户 } return View("Register", model); }
视图表单:
Register: @using (Html.BeginForm("RegisterConfirm", "Account", FormMethod.Post, new { @id = "create" })) {
Register Confirm: @using (Html.BeginForm("RegisterComplete", "Account", FormMethod.Post, new { @id = "create" })) {
问题是,当我到达RegisterComplete时,模型值为空...有什么想法或者这不可能吗?还是应该起作用,我需要仔细检查我的registercomplete?
这是我的做法,我有一个Register、RegisterConfirm和RegisterComplete视图。
用户从Register开始,填写信息,点击继续并发布到RegisterConfirm,在那里他们点击复选框同意隐私政策,然后发布到RegisterComplete,根据第一个Register视图中的模型创建用户。
代码:
[GET("Account/Register")] public ActionResult Register() { return View(); }
[POST("Account/Register/Confirm")] public ActionResult RegisterConfirm(RegisterModel model) { if (ModelState.IsValid) { return View(model); } else { return View("Register", model); } }
[POST("Account/Register/Complete")] public ActionResult RegisterComplete(RegisterModel model, bool agree) { if (agree) { // 创建用户 } return View("Register", model); }
视图表单:
Register: @using (Html.BeginForm("RegisterConfirm", "Account", FormMethod.Post, new { @id = "create" })) {
Register Confirm: @using (Html.BeginForm("RegisterComplete", "Account", FormMethod.Post, new { @id = "create" })) {
问题是,当我到达RegisterComplete时,模型值为空...有什么想法或者这不可能吗?还是应该起作用,我需要仔细检查我的registercomplete?