我正在尝试将3个表单字段的数据从表单1传递到另一个查看完整表单。这意味着我希望在下一个视图中将这3个字段填写在表单2上。
我遇到的问题是,在我提交第一个表单后,数据以第二种形式加载,但它会触发验证,而且框是红色的。
适当的情况是什么?
此表单位于View1.cshtml:
@model Presentation.Models.RegisterModel
@using (Html.BeginForm(MVC.Account.Register()))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.DisplayNameFor(m => m.FirstName)
@Html.EditorFor(m => m.FirstName)
</div>
<div class="form-group">
@Html.DisplayNameFor(m => m.LastName)
@Html.EditorFor(m => m.LastName)
</div>
<div class="form-group">
@Html.DisplayNameFor(m => m.EmailAddress)
@Html.EditorFor(m => m.EmailAddress)
</div>
@Html.ValidationSummary()
<div class="text-right" style="margin-top: 5px;">
<input type="submit" value="Send" class="btn yellow" />
</div>
}
Register.cshtml视图的操作,我想从上一个表单追加3个字段,而不触发验证:
[AllowAnonymous]
public virtual ActionResult Register(RegisterModel data)
{
return this.View(data);
}
答案 0 :(得分:1)
尝试清除ModelState:
[AllowAnonymous]
public virtual ActionResult Register(RegisterModel data)
{
ModelState.Clear();
return this.View(data);
}