ほとんどのフォームでカスタム エディター テンプレートを使用していますが、それらを使用してカスタム オブジェクト ピッカーをレンダリングしようとしているときに、含まれているコンテキストに関する情報をエディター テンプレートに渡す簡単な方法が見つかりませんでした。
具体的には、私のメイン フォームはドメイン オブジェクトの編集をレンダリングし、エディター テンプレートは、ドメイン オブジェクトの ID に依存するオブジェクトのリストを含む AJAX ピッカーをレンダリングする必要があります。現在、パラメーターを使用して ID を渡していadditionalViewData
ますが、これはエラーが発生しやすいため、かなり見苦しいと思います。
私のフォームには、次のようなコードが含まれています。
@Html.EditorFor(model => model.CategoryId, new { id = model.id })
エディター テンプレートには、次のようなコードが含まれています。
@{
var domainObjectId = ViewData["id"] as int?;
}
カスタムModelMetadataProvider
を使用してオブジェクト ピッカー エディター テンプレートを選択しています。同様の手法を使用して、含まれているモデルに関する情報をエディター テンプレートに渡したいと考えていますが、それは可能ではないようです。
だから、私の質問は次のとおりです。
ModelMetadataProvider
含むモデルに関する情報をエディターテンプレートに渡すために a を使用する方法はありますか?additionalViewData
そうでない場合、弱く型付けされたパラメーターを介してすべての追加情報を渡す以外に、私が試みていることを達成するためのよりきちんとした/より簡単な方法はありますか?
前もって感謝します!