0

私はMVC3を初めて使用し、学習しているだけで、ガイダンスを探しています。

簡単にするために、質問、回答、コンテナーの 3 種類の要素を表すモデルを用意しました。

3 つすべてが、baseElement と呼ぶ共通の基本型から継承します。

モデルがビューに配信されるとき、それは「baseElement」タイプの単一のオブジェクトです

コンテナー要素には、baseElements の内部リストがあります。これらの baseElements は、3 つのタイプのいずれかになります。そのため、コンテナには質問、またはコンテナを含めることができます(質問、コンテナなどを含めることもできます..)

各質問には、さまざまな種類の回答タイプを含めることができます。

mvc3 を使用して、このコンテナー/質問構造をユーザーに表示するシステムを最適に実装する方法を見つけようとしています - 入力モデルのネストされた構造を尊重しながら、さまざまな回答タイプで質問に回答できるようにします。

4

1 に答える 1

0

私のモデルは動的な性質を持っていますが、しばらく調べてみたところ、あまり複雑にせずにモデル オブジェクト構造をレンダリングすることができました。

厳密に型指定されたエディター テンプレート (型ごとに 1 つ) と、ビュー内の次のコードを使用してそれを行いました。

@Html.EditorFor(x => @Model, @Model.GetType().Name)

これにより、実際のタイプに基づいて、使用する適切なエディター テンプレートが自動的に選択されます。タイプ固有のエディター テンプレートのそれぞれで、それぞれの子に対して同じ呼び出しを行います。

それは実際には非常に単純です。

私が今直面している大きな問題は、ユーザーが投稿したフォームの値を使用可能なものにバインド (または取得) する方法です。構造の動的な性質により、デフォルトのモデル バインダーは腕を組んであきらめます。

この時点で、フォーム データの取得/再マッピングははるかに大きな問題になる可能性があると思いますが、それには確かにさらに調整が必要であり、おそらく別の質問が必要になるでしょう。

助けてくれてありがとう。:-)

于 2012-06-06T20:20:57.213 に答える