質問するログイン新規登録

回答編集履歴

3

Partial View に関する記述を削除した

2017/04/27 01:30

投稿

hidori
hidori

スコア403

answer CHANGED
@@ -1,14 +1,12 @@
1
1
  > 引用テキストcshtmlのなかで他のモデルを参照する方法を知りたいです。
2
2
 
3
3
  ここで言う「参照」の意味をもっと明確にしてほしいところですが。。
4
- 以下、「View がモデルの保持する情報を表示するために『参照』する」と仮定しての回答です。
4
+ 以下、「View が Model の保持する情報を表示するために『参照』する」と仮定しての回答です。
5
5
 
6
6
  > 課題はViewです。
7
7
  > Viewはcshtmlで、@のなかにC#を書けますが、PersonView.cshtmlでは、単純にModelというとPersonModelを見てしまって、CompanyModelの情報を引き出せないように思えます。
8
8
 
9
- そういう風に困らないようにモデルを設計するべきです。
9
+ そういう風に困らないように Model を設計するべきです。
10
- MVC は Web アプリケーションを構築するための枠組みであり、MVC におけるモデルはビジネスドメインにおけるモデルとは別物と捉えるべきです。
10
+ MVC は Web アプリケーションを構築するための枠組みで、MVC における Model はビジネスドメインの設計・実装における Model とは別物であり、MVC の View Model は1対1対応しているべきなのです。
11
11
 
12
- View が Person だけでなく Company がもつ情報も必要(≒表示)するのであれば、PersonCompany をメンバとして持つ ViewModel を作って、それを View にあてがうのが適切です。
12
+ View が PersonModel だけでなく CompanyModel がもつ情報も必要(≒表示)するのであれば、PersonModelCompanyModel をメンバとして持つ ViewModel を作って、それを View と対応付けするのが適切です。
13
-
14
- あるいは、View と Person および Company の関係によっては Pertial View とするべきケースもありますが、要件が明確でないのでどちらが適切かは不明です。

2

前提を追加

2017/04/27 01:30

投稿

hidori
hidori

スコア403

answer CHANGED
@@ -1,6 +1,7 @@
1
1
  > 引用テキストcshtmlのなかで他のモデルを参照する方法を知りたいです。
2
2
 
3
3
  ここで言う「参照」の意味をもっと明確にしてほしいところですが。。
4
+ 以下、「View がモデルの保持する情報を表示するために『参照』する」と仮定しての回答です。
4
5
 
5
6
  > 課題はViewです。
6
7
  > Viewはcshtmlで、@のなかにC#を書けますが、PersonView.cshtmlでは、単純にModelというとPersonModelを見てしまって、CompanyModelの情報を引き出せないように思えます。

1

引用を修正

2017/04/27 01:26

投稿

hidori
hidori

スコア403

answer CHANGED
@@ -1,12 +1,13 @@
1
- >cshtmlのなかで他のモデルを参照する方法を知りたいです。
1
+ > 引用テキストcshtmlのなかで他のモデルを参照する方法を知りたいです。
2
2
 
3
3
  ここで言う「参照」の意味をもっと明確にしてほしいところですが。。
4
4
 
5
- >課題はViewです。
5
+ > 課題はViewです。
6
- >Viewはcshtmlで、@のなかにC#を書けますが、PersonView.cshtmlでは、単純にModelというとPersonModelを見てしまって、CompanyModelの情報を引き出せないように思えます。
6
+ > Viewはcshtmlで、@のなかにC#を書けますが、PersonView.cshtmlでは、単純にModelというとPersonModelを見てしまって、CompanyModelの情報を引き出せないように思えます。
7
7
 
8
8
  そういう風に困らないようにモデルを設計するべきです。
9
9
  MVC は Web アプリケーションを構築するための枠組みであり、MVC におけるモデルはビジネスドメインにおけるモデルとは別物と捉えるべきです。
10
10
 
11
- View が Person だけでなく Company がもつ情報も必要(≒表示)するのであれば、Person と Company をメンバとして持つ ViewModel を作って、それを View にあてがうべきです。
11
+ View が Person だけでなく Company がもつ情報も必要(≒表示)するのであれば、Person と Company をメンバとして持つ ViewModel を作って、それを View にあてがうのが適切です。
12
+
12
13
  あるいは、View と Person および Company の関係によっては Pertial View とするべきケースもありますが、要件が明確でないのでどちらが適切かは不明です。