Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC中出现验证错误后丢失的剩余记录_C#_Html_Validation_Asp.net Mvc 4_Model - Fatal编程技术网

C# MVC中出现验证错误后丢失的剩余记录

C# MVC中出现验证错误后丢失的剩余记录,c#,html,validation,asp.net-mvc-4,model,C#,Html,Validation,Asp.net Mvc 4,Model,我有一个MVC项目,包含25-30个字段的用户注册表。填写表单后,如果用户忘记填写必填字段,则会显示验证错误。但剩余的所有字段都会丢失数据。 我在书中提到过 if (!ModelState.IsValid) { ModelToDBclass obj = new ModelToDBclass(); objModel.Id = Convert.ToInt32(obj.GetMaxPaperId()); objMo

我有一个MVC项目,包含25-30个字段的用户注册表。填写表单后,如果用户忘记填写必填字段,则会显示验证错误。但剩余的所有字段都会丢失数据。 我在书中提到过

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

最后返回空白视图。但在运行时,当涉及到

返回视图(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.ValidationMessageFor(m=>m.ConsumerName)

因此,请帮助我如何在验证错误后显示已填写的记录

您应该始终使用
Html Helper

@Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control" }, placeholder = "First Name", autofocus = "autofocus" })
然后,只有当
模型状态
无效时,它才会在相应字段中显示返回的对象值。不要使用普通的html标记。

希望这有帮助

您应该始终使用
Html帮助程序

@Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control" }, placeholder = "First Name", autofocus = "autofocus" })
然后,只有当
模型状态
无效时,它才会在相应字段中显示返回的对象值。不要使用普通的html标记。

希望这有帮助

你能使用
@Html.EditorFor(m=>m.ConsumerFName,新的{@placeholder=“First Name”,@class=“form control”})吗
?在这种情况下,值将被持久化。不要手动生成html。使用强类型html帮助程序(例如
@html.TextBoxFor(m=>m.ConsumerFName)
它负责此功能和其他功能,如客户端验证。您说的是替换所有文本框并在上面写。我说的对吗…?是的,当然有正确的模型属性。好的@StephenMuecke,但我如何为特定控件应用唯一的css…?您能使用
@Html.EditorFor(m=>m.ConsumerFName,new)吗{@placeholder=“First Name”,@class=“form control”})
?在这种情况下,值将被保留。不要手动生成html。请使用强类型html帮助程序(例如
@html.TextBoxFor(m=>m.ConsumerFName)
它负责此功能和其他功能,如客户端验证。您说的是替换所有文本框并在上面写。我说的对吗…?是的,当然有正确的模型属性。ok@StephenMuecke,但我如何为特定控件应用唯一的css。。?