在表单上使用多个步骤,共享一个模型的不同视图。
在我的第二步表格帖子提交中,我传递了我的模型以维持状态。
<% using (Html.BeginForm("StepTwo", "Home", Model, FormMethod.Post, new { id = "restrictionForm" })) { %>
但是我发现当我点击提交并且它按照我想要的方式工作时,我的整个模型及其属性现在列在网址中,这是不可取的。
[Authorize]
[HttpPost]
[ActionName("StepTwo")]
[ValidateAntiForgeryToken]
public ActionResult StepTwoPost(PostcodesModel model)
{
try
{
_Provider.AddNewRestriction(model.Postcode, model.SelectedRestriction, model.RestrictionDescription, model.WildcardID);
return View("StepThree", model);
}
catch(Exception ex)
{
ViewBag.PostCodeErrors = "<div class=\"errorMessage\">Error inserting restriction " + model.Postcode + ".</div><p>" + ex.Message + "</p>";
return View(model);
}
}
无论如何现在以这种方式在URL中显示模型?
即
http://localhost:/Home/StepThree?Postcode=1234&.....
答案 0 :(得分:0)
你可以发布完整视图吗?
你是如何渲染模型值的?如果您将它们作为路由数据呈现在提交按钮中,这些将导致它们出现在URL上,您应该在HTML元素“Textbox”或“Hidden”中呈现它们,并且这些值将作为表单数据发布< / p>