2012-01-30 9 views
1

У меня проблема, когда ошибки ModelState не отображаются в правильные свойства.ASP.NET MVC 3 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 
+0

Не видя какого-либо кода, который обертывает состояние модели, как вы ожидаете, что кто-нибудь сможет ответить, почему он не работает должным образом? – Dismissile

ответ

0

Похоже, вы может использовать Dependency Injection и введение ModelStateDictionary в свой ModelStateWrapper класс, который снова вводится в ваш Сервисный уровень?

Я могу только догадываться все, что становится впрыскиваемым не используяController class ModelState property (ModelStateDictionary) вашего текущего запроса HTTP.

Вы случайно инициализирующий новый экземпляр из ModelStateDictionary и передачи его в ModelStateWrapper? Если вы используете Инъекция зависимостей, пожалуйста, покажите мне свою конфигурацию впрыска, чтобы я мог дать вам лучший ответ.

Смежные вопросы