Rah*_*hra 2 c# asp.net-mvc .net-core asp.net-core
我创建了一个AccountModel具有以下属性的
public class AccountModel
{
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
[StringLength(10, MinimumLength = 6)]
public string Password { get; set; }
[NotMapped] // Does not effect with your database
[Compare("Password")]
[BindRequired]
public string ConfirmPassword { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
SignUp我正在尝试对和使用相同的模型SignIn。该模型非常适合注册,但是当我为SignIn我的模型使用相同的模型时,该模型变得无效。
我知道原因是因为我没有传递“确认密码”属性的值。我尝试跟随
我正在使用 ASP.NET Core 3.1 并尝试使用单一模型进行登录和注册。
有什么解决办法吗?我正在学习 .NET Core 和 MVC,因此对这个主题的了解较少。
提前感谢您的帮助。
根据其文档,这称为可空上下文:
可空上下文可以对编译器如何解释引用类型变量进行细粒度控制。任何给定源代码行的可为空注释上下文要么启用,要么禁用。您可以将 C# 8.0 之前的编译器视为在禁用的可为空上下文中编译所有代码:任何引用类型都可以为 null。还可以启用或禁用可为空的警告上下文。可空警告上下文指定编译器使用其流分析生成的警告。
你可以像这样摆脱这个警告:
#nullable enable
public string? ConfirmPassword { get; set; }
#nullable disable
Run Code Online (Sandbox Code Playgroud)
作为另一种解决方法,如果您希望始终在项目中消除此警告,则可以Nullable在.csproj文件中添加该元素。右键单击您的项目并单击“编辑项目文件”,然后将Nullable元素添加到您的PropertyGroup部分,如下所示:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
您只需重新构建项目一次即可看到结果。
| 归档时间: |
|
| 查看次数: |
3163 次 |
| 最近记录: |