我有一个扩展方法,我从我的 EditorTemplate(对于一个字符串)中调用它,它在控件上设置标签和所需的元数据。(我无法注释我的模型,所以这就是我这样做的原因)。
public static void SetMetadata(this ViewUserControl control)
{
if (!string.IsNullOrEmpty((string)control.ViewData["labeltext"]))
control.ViewData.ModelMetadata.DisplayName = (string)control.ViewData["labeltext"];
if (control.ViewData["required"] != null)
control.ViewData.ModelMetadata.IsRequired = (bool)control.ViewData["required"];
}
有没有人知道为什么 ModelState.IsValid 不会在我设置为Required = true的字段上找到?