この問題に頭を悩ませているかどうかわからないので、説明が不足していると思われる場合はご容赦ください。私はまだ MVC-3 の初心者です。
モデルから正しい動作でビューを生成する最良の方法がわからないMVCページがあります。モデルにはテキスト フィールド クラスのリストが含まれており、各クラスにはビューに表示される一連のテキスト フィールド ("HeadlineText"、"ButtonText"、"ColorText" など) が含まれています。テキスト フィールド クラスのリストは、ユーザーが設定した固有の言語ごとに、異なる言語ごとに一連のテキスト フィールドを作成できるようにします。
ビューには、テキスト フィールド クラスのリストに各言語/オブジェクトを含むドロップダウン リストがあり、ドロップダウンで選択されている言語オプションに基づいて、ビューに表示されるテキスト フィールドを変更したいと考えています。リスト (そしてそれに応じてこれを動的に変更します)。
私の当初の計画は、リスト内のすべてのオブジェクトのモデルからビュー内の html を生成し、javascript を使用して、ドロップダウン リストで選択した言語に属さないテキスト フィールドのセットを非表示/非表示にすることでした。ページ上に大量の余分な html を生成するという考えは本当に好きではありません。そのため、javascript を使用してすべてを変更できますが、ビューをリロード/再生成せずにビューを更新する方法は他にありません (I'ポストバックなしで、非同期に見えるようにしようとしています)。
アップデート:
部分的なビューについての提案は私が望んでいるようですが、他のコメント投稿者が意見を述べていないことについてまだ疑問に思っています. つまり、部分ビューを実行したい場合でも、テキスト フィールドを親モデルのデータにバインドする必要があり、(おそらくエディター テンプレートを使用して) 親ビュー/モデル/保存のためにフォームが送信されます。
bit.ly/N5DY5a と bit.ly/SVYqdT で他のことを読みました。それらを正しく理解していれば、テキスト フィールド リスト オブジェクトまたは親モデルを部分ビューに渡して、ビューが正しいフィールドのエディター テンプレートを生成し、それらを親モデルに関連付けることができるはずです。親フォームが送信されたときに保存されますか? まだ何もできていませんが、頑張っています...