Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Asp.net core ASP.NET Core在POST后未在控件中显示数据,出现验证错误_Asp.net Core_Model Binding - Fatal编程技术网

Asp.net core ASP.NET Core在POST后未在控件中显示数据,出现验证错误

Asp.net core ASP.NET Core在POST后未在控件中显示数据,出现验证错误,asp.net-core,model-binding,Asp.net Core,Model Binding,注意:这些都是非常简单的代码来演示问题。我真正的代码有更多的控件、客户端验证等 我在一个名为Jim.cshtml的视图中简化了以下内容 Jim视图模型如下所示 public class Jim { [Required(ErrorMessage = "Required")] public string Email { get; set; } = ""; } 如果我加载页面,输入一封不以j开头的电子邮件,然后单击submit按钮,那么ModelState无效,因此控制器返回带有模型的Jim

注意:这些都是非常简单的代码来演示问题。我真正的代码有更多的控件、客户端验证等

我在一个名为Jim.cshtml的视图中简化了以下内容

Jim视图模型如下所示

public class Jim {
  [Required(ErrorMessage = "Required")]
  public string Email { get; set; } = "";
}
如果我加载页面,输入一封不以j开头的电子邮件,然后单击submit按钮,那么ModelState无效,因此控制器返回带有模型的Jim视图。验证摘要显示错误消息,但文本框为空

我希望文本框中填充我输入的电子邮件地址

我做错了什么


谢谢,HTML本身不知道如何绑定到模型中的值。您必须显式地执行此操作,或者使用像asp这样的标记帮助器来执行此操作

将asp用于:

或者明确地说:

<input type="text" name="Email" value="@Model.Email">

如果我加载页面并单击“提交”按钮而不输入任何内容[…],我希望文本框中填充我输入的电子邮件地址。-这两种说法似乎相互排斥。你能澄清一下吗?另外,当您调试时,j是否包含您期望的数据?你希望在哪一步失去价值?@David你完全正确!请看我编辑的问题,我真的觉得自己很愚蠢!那太明显了!不知怎的,我脑子里已经想好了,模型装订工会把它弄明白的。呵呵,谢谢
public class Jim {
  [Required(ErrorMessage = "Required")]
  public string Email { get; set; } = "";
}
<input type="text" asp-for="Email">
<input type="text" name="Email" value="@Model.Email">