私は新しいプロジェクトのためにasp.net MVCを使用したいと思っています。私はasp.netとウェブ上でさまざまな例を見ました。私はまだ答えは得られませんでした。異なるモデルの出力を単一のビューに結合する最良の方法は何ですか。たとえば、私のホームページには、最近の投稿のカタログ、場所、スナップショットが含まれます。これらは3つの異なるモデルから来るでしょう。それに応じてコンテンツを配置するために、ビュー内のすべてのものを含む単一のビューデータを作成しますか?asp.net MVCの単一ビューでの複数の出力の結合MVC
2
A
答えて
0
通常、このシナリオでは、複数のデータモデルクラスを集約する1つのビューモデルクラスを作成します。
私はビューとデータが2つの異なるオブジェクトセットである必要があると信じています。その前にコントローラクラスのデータ転送(例:データモデルクラスからビューモデルの通貨フォーマットの文字列への小数点の書式設定)ビューに送信されます。
8
あなたは自分のホームページのためのViewModelを作成...何かのような...
public class MyHomepageViewModel
{
public Categories MyCategories { get; set; }
public Locations MyLocations { get; set; }
public Snapshots MySnapshots { get; set; }
public MyHomepageViewModel(Categories categories, Locations locations, Snapshots snapshots)
{
MyCategories = categories;
MyLocations = locations;
MySnapshots = snapshots;
}
}
、その後、あなたが強く、このビューモデルにあなたのホームページを入力し、あなたがあなたのビューで必要なすべてにアクセスできるようになりますあなたはこのためにビューモデルを必要とする=)
3
:
public class HomeViewModel {
public IList<Category> Categories;
public IList<Location> Locations;
public IList<Snapshot> Snapshots;
public IList<Post> Recent;
}
あなたのビューが強く型付けされている必要があります。
<%@ Page Inherits="System.Web.Mvc.ViewPage<HomeViewModel>" %>
<!-- <% var categories = Model.Categories %> -->
関連する問題
- 1. ASP.NET MVCつのビューで複数のモデル
- 2. 単一のソリューションで複数のMVCプロジェクト
- 3. Asp.Net MVCのルーティングと複数のビュー
- 4. 表示複数のビュー単一ページCodeIgniterのMVC
- 5. ASP.NET MVC複数の部分ビュー(1ビューモデルバインディング)
- 6. ASP.NET MVCカミソリのタイトル結合
- 7. ハッシュテーブルの出力Asp.net MVC
- 8. コントローラの出力とビューのプロパティの間のMVCの不一致
- 9. asp.netの同じコントローラとビューでの複数のアクションMVC
- 10. ASP.NET MVCで単一のファイルアップロードの問題を持つ複数のファイル
- 11. ASP.NET MVCで出力をキャプチャ
- 12. ASP.NET MVC複数のフォーム
- 13. ASP.NET MVC:複数プロジェクトのエラー
- 14. 複数ファイルのアップロードasp.net mvc
- 15. ASP.NET MVC複数のイントラネットプロジェクト
- 16. asp.net mvc複数の値を
- 17. ASP.NET MVCでアップロード、リダイレクト結果ビュー
- 18. LINQ、ASP.net mvcと結合
- 19. ASP.NET MVCビューの複数のフォームとルーティングの問題
- 20. ASP.NET MVC 3の部分ビュー(複数の部分ビューから1つのビューへ)
- 21. C#Asp.Net MVC - 選択リストの結合?
- 22. ASP.Net MVC複数のモデルで強く型付けされたビュー
- 23. ASP.NET MVC 3 - 複数のドメインを扱い、単一のコードベースを共有する
- 24. 同じページ内の複数のビューMVC ASP.NET
- 25. Java MVCの部分ビューASP.NET MVC
- 26. ASP.NET MVC単一のビューから関連する複数のテーブルにレコードを追加する
- 27. 1つの単一ドメインモデルのMVC複数のデータベース
- 28. MVC 5:単一のWebアプリケーションの複数の認証方式?
- 29. 単一のSpring MVCコントローラからの複数の戻り型
- 30. LINQとASP.NET MVCを使用したストアドプロシージャ複数テーブル出力
ありがとうございました...私は実際にViewModelが何であるかを実際に取得します。 – kdmurray
これはコントローラの置き換えになりますか?もしそうなら、それはasp.netフォルダ構造のどこに行きますか? ViewModelsという新しいフォルダに? – George
@George ...これはコントローラを置き換えることはできません。これは、コントローラのアクションによってビューを生成するために使用されます。フォルダ構造のどこにでも置くことができます。通常、ViewModelsフォルダに配置します。 –