我有一个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>
所以,请帮助我如何在验证错误后显示填充记录
答案 0 :(得分:3)
您应始终使用Html Helper
@Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control" }, placeholder = "First Name", autofocus = "autofocus" })
然后,只有当Model state
无效时,它才会在相应的字段中显示返回的对象值。不要正常的HTML标签。
希望这有帮助