これに似たクラスがある場合:
public class Person
{
public string firstName { get; set; }
public string lastName { get; set; }
public Pet myPet { get; set; }
}
カスタムモデルバインダーを作成すると、フォームからの投稿はペットで送信されません。次のようなデータが送信されます。firstName: "myFirstName" lastName: "myLastName" myPet: "myPetsName"
実際のPetオブジェクトではなく、Petの名前が渡されるため、Petオブジェクトはモデルバインダー内から取得する必要があります。
私の質問は、モデルバインダーがサービスレイヤー、リポジトリレイヤーと相互作用する必要があるのか、それともペットを取得する必要があるのかということです。サービスレイヤーの問題は、サービスの初期化時にModelStateにアクセスできないように見えることです:((this.ModelState)でエラーが発生します)
_petService = new PetService(new ModelStateWrapper(this.ModelState));
Personオブジェクトを作成するためにモデルバインダーが必要な場合は、ペットを何らかの方法で割り当てる必要があります...これをどのように行うのですか?