【发布时间】:2016-04-16 20:46:00
【问题描述】:
我有一个 MVC 项目,包含有 25-30 个字段要填写的用户注册表单。填写表格后,如果用户忘记填写必填字段,则会显示验证错误。但剩下的所有字段都会丢失数据。 我在控制器中提到过
if (!ModelState.IsValid)
{
ModelToDBclass obj = new ModelToDBclass();
objModel.Id = Convert.ToInt32(obj.GetMaxPaperId());
objModel.countryNameDB = obj.GetcountryName();
return View(objModel);
}
最后它返回空白视图。但在运行时
return 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>
所以,请帮助我如何在验证错误后显示填充记录
【问题讨论】:
-
你能用
@Html.EditorFor(m => m.ConsumerFName, new { @placeholder = "First Name", @class = "form-control" })吗?在这种情况下,值将被持久化。 -
不要手动生成你的html。使用强类型的 html 帮助器(例如
@Html.TextBoxFor(m => m.ConsumerFName),它负责此功能和其他功能,例如客户端验证 -
你是说替换所有文本框并写在上面的行。我是对的......??
-
是的,当然还有正确的模型属性。
-
好的@StephenMuecke,但是我怎样才能为特定控件应用独特的css..?
标签: c# html validation asp.net-mvc-4 model