在MVC

时间:2016-01-12 09:47:35

标签: c# html validation asp.net-mvc-4 model

我有一个MVC项目,包含用户注册表,其中有25-30个字段需要填写。填写表格后如果用户忘记填写必填字段,则会显示验证错误。但是剩下的所有字段都会丢失数据。 我在控制器中提到了

if (!ModelState.IsValid)
        {
            ModelToDBclass obj = new ModelToDBclass();
            objModel.Id = Convert.ToInt32(obj.GetMaxPaperId());
            objModel.countryNameDB = obj.GetcountryName();
            return View(objModel);
        }

最后它返回空白视图。但是在运行时谈到

返回View(objModel); ,模型显示每个字段的数据,但是当它查看它时无法在文本框和下拉列表中显示记录。我使用了文本框,

<div class="col-sm-2"><input type="text"  class="form-control" name="ConsumerFName" id="txtConsumerFirstName" placeholder="First Name" />
                                                    @Html.ValidationMessageFor(m => m.ConsumerFName)</div>

所以,请帮助我如何在验证错误后显示填充记录

1 个答案:

答案 0 :(得分:3)

您应始终使用Html Helper

@Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control" }, placeholder = "First Name", autofocus = "autofocus" })

然后,只有当Model state无效时,它才会在相应的字段中显示返回的对象值。不要正常的HTML标签。
希望这有帮助