根据您的 OP 评论,听起来您有一些数据注释问题。我强烈建议完全重新创建一些使用MetadataType的模型和接口。
public SomeViewModel
{
public string FormField { get; set; }
public string FormField2 { get; set; }
}
public interface IAnonymousSomeViewModel
{
[Required]
public string FormField { get; set; }
[Scaffold(false)]
public string FormField2 { get; set; }
}
public interface IUserSomeViewModel
{
[Scaffold(false)]
public string FormField { get; set; }
[Required]
public string FormField2 { get; set; }
}
[MetadataType(typeof(IAnonymousSomeVieModel)]
public AnonymousViewModel : SomeViewModel { }
[MetadataType(typeof(IUserSomeVieModel)]
public UserViewModel : SomeViewModel { }
在您的视图中,您通过AnonymousViewModel
or UserViewModel
,则视图中没有逻辑:
@model SomeViewModel
@Html.EditorFor(m => m.FormField)
@Html.EditorFor(m => m.FormField2)