MVC 4.0将数据从表单传递到另一个表单而不触发验证器

时间:2014-02-05 22:16:41

标签: asp.net-mvc

我正在尝试将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);
        }

1 个答案:

答案 0 :(得分:1)

尝试清除ModelState:

[AllowAnonymous]
    public virtual ActionResult Register(RegisterModel data)
    {
        ModelState.Clear();
        return this.View(data);
    }