回答編集履歴

3

追記&訂正

2020/05/28 02:29

投稿

退会済みユーザー
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- ASP.NET MVC には「ドメインモデル」のほかに、Controller から View にデータを渡すために使われる「ビューモデル」、クライアントから送信されてくるデータをコントローラーのアクションメソッドに渡すための「入力モデル」というものがあります。
63
+ ASP.NET MVC には「ドメインモデル」のほかに、Controller から View にデータを渡すために使われる「ビューモデル」、クライアントから送信されてくるデータを Controller のアクションメソッドに渡すための「入力モデル」というものがあります。
64
64
 
65
65
 
66
66
 

2

追記

2020/05/28 02:29

投稿

退会済みユーザー
test CHANGED
@@ -27,3 +27,41 @@
27
27
 
28
28
 
29
29
  「質問の DropDownList のコードが期待通りの結果を生むか」が一番重要なことだと思っているのでいろいろ聞いているのですが・・・
30
+
31
+
32
+
33
+ **【追記】**
34
+
35
+
36
+
37
+ Model について混乱しているようですので、ASP.NET MVC で言う Model というのはどういうものか書いておきます。確かにここは混乱しやすいので。
38
+
39
+
40
+
41
+ 一般的に MVC の Model の役割は以下の記事にあるような「アプリケーションデータ、ビジネスルール、ロジック、関数」で、その記事の図にあるように View と Controller の背後にあるといった構成で説明されていることが多いと思います。
42
+
43
+
44
+
45
+ Model View Controller
46
+
47
+ [https://ja.wikipedia.org/wiki/Model_View_Controller](https://ja.wikipedia.org/wiki/Model_View_Controller)
48
+
49
+
50
+
51
+ 一方、ASP.NET MVC で言う Model は、下の図にあるように、上の Wikipedia の記事とはかなり異なります。
52
+
53
+
54
+
55
+ ![イメージ説明](8f89a3f82d26157849c1a936899d89ff.jpeg)
56
+
57
+
58
+
59
+ 上の図の「ドメインモデル」が Wikipedia の記事の Model「アプリケーションデータ、ビジネスルール、ロジック、関数」に近いものです。
60
+
61
+
62
+
63
+ ASP.NET MVC には「ドメインモデル」のほかに、Controller から View にデータを渡すために使われる「ビューモデル」、クライアントから送信されてくるデータをコントローラーのアクションメソッドに渡すための「入力モデル」というものがあります。
64
+
65
+
66
+
67
+ 今回の質問では、View のコードの一行目に @model MvcView.Models.Article と書いてありますが、その Article は「ビューモデル」に該当します。View の中では Model プロパティで取得できます。また、xxxxxFor タイプの Html ヘルパーではその引数の model => model.Title の model で取得できます。

1

追記

2020/05/28 02:20

投稿

退会済みユーザー
test CHANGED
@@ -23,3 +23,7 @@
23
23
 
24
24
 
25
25
  なお、「Model と ViewBag をどのように定義して View に渡しているか」によって View 側の話がいろいろ違ってくると言ったように、質問の DropDownList のコードが期待通りの結果を生むかは、Article の内容も Title も不明ですので、分かりません。
26
+
27
+
28
+
29
+ 「質問の DropDownList のコードが期待通りの結果を生むか」が一番重要なことだと思っているのでいろいろ聞いているのですが・・・