ОК, у меня проблема, когда ошибки ModelState
не отображаются на правильные свойства.
Дайте мне посмотреть, смогу ли я это объяснить.
У меня ViewModel похож на:
public class MyViewModel
{
public string Prop1 {get;set;}
public string Prop2 {get;set;}
....
}
На мой взгляд, у меня есть модель, у которой есть коллекция этого типа, для которой у меня есть EditorTemplate
.Таким образом, он генерирует MyViewModels[0].Prop1
, MyViewModels[1].Prop1
и т. Д.
Проблема заключается в том, что я устанавливаю ошибку на ModelState
в моем слое обслуживания через интерфейс, который я сделал под названием IValidationDictionary
, который имеет оболочкуПрименительно к состоянию модели он не прикрепляет ошибку к правильной строке в представлении, а к концу модели как Prop1
.
EDIT
Вот ModelStateWrapper (VB -Извините!)
Public Class ModelStateWrapper
Implements IValidationDictionary
#Region "Private Members/Properties"
Private modelState As ModelStateDictionary
Public ReadOnly Property IsValid As Boolean Implements IValidationDictionary.IsValid
Get
Return modelState.IsValid
End Get
End Property
#End Region
#Region "Constructor(s)"
Public Sub New(modelState As ModelStateDictionary)
Me.modelState = modelState
End Sub
#End Region
#Region "Methods"
Public Sub AddError(key As String, message As String) Implements IValidationDictionary.AddError
modelState.AddModelError(key, message)
End Sub
#End Region
End Class