2012-01-30 27 views
1

OK、私はModelStateのエラーが正しいプロパティにマッピングされていないという問題があります。ASP.NET MVC 3 ModelState

私がこれを説明できるかどうかを見てみましょう。

私はそうのようなビューモデルを持っている:私の見解では

public class MyViewModel 
{ 
    public string Prop1 {get;set;} 
    public string Prop2 {get;set;} 
    .... 
} 

、私は私がEditorTemplateを持つこの型のコレクションを持っているモデルがあります。だから、MyViewModels[0].Prop1MyViewModels[1].Prop1など

問題は私がモデル状態のラッパを持っているIValidationDictionary呼ばれてきたインタフェースを介して、私のサービス層にModelStateにエラーを設定すると、それがエラーを添付していない、ある生成しますビュー内の正しい行に移動し、モデルの末尾にはProp1と入力します。 (! - 申し訳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

はあなたのような依存性注入を使用すると、再びあなたのModelStateWrapperクラスにModelStateDictionaryを注入することですね。ここ

EDIT

はModelStateWrapperですサービスレイヤーに注射しましたか?

私はのみを注入なっているものは何でもが現在のHTTPリクエストのController class ModelState property (ModelStateDictionary)を使用していないで推測することができます。

新しいインスタンスModelStateDictionaryを初期化してModelStateWrapperに渡していますか? 依存性注入を使用している場合は、注入構成を表示してください。より良い回答を得ることができます。

関連する問題