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

回答編集履歴

4

追記

2018/12/04 21:50

投稿

退会済みユーザー
answer CHANGED
@@ -67,7 +67,7 @@
67
67
 
68
68
  ![イメージ説明](7372d8d9d7b188d5b8765d071751c4d8.jpeg)
69
69
 
70
- View を生成すると以下のようになって、
70
+ View を生成すると以下のようになって、(追伸: @model ... がキモです。スキャフォールディングで適切にパラメータを設定すれば自動生成されます)
71
71
 
72
72
  **View**
73
73
 

3

訂正

2018/12/04 21:50

投稿

退会済みユーザー
answer CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  > ↓View画面のイメージ
10
10
 
11
- そう表示したいのであれば、cn, name, mail, department のすべてが AdInfo クラスにないとダメでは? であれば、以下のように Model に AdInfor クラスを定義して:
11
+ そう表示したいのであれば、cn, name, mail, department のすべてが AdInfo クラスにないとダメでは? であれば、以下のように Model に AdInfo クラスを定義して:
12
12
 
13
13
  **Model**
14
14
 

2

追記

2018/12/04 15:32

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,131 @@
1
1
  今スマホからなので、コードが書けませんが・・・
2
2
 
3
- 情報を格納するクラスを Model に定義してください。そのクラスを、例えば AdInfo とすると、取得した複数のユーザーの AD 情報を、Controller で List<AdInfo> というオブジェクトを作って格納します。それを Model として View に渡すのが基本になります。
3
+ 情報を格納するクラスを Model に定義してください。そのクラスを、例えば AdInfo とすると、取得した複数のユーザーの AD 情報を、Controller で List<AdInfo> というオブジェクトを作って格納します。それを Model として View に渡すのが基本になります。
4
+
5
+ **【追伸】**
6
+
7
+ PC からアクセスできるようになったので、コードを書いて説明しておきます。
8
+
9
+ > ↓View画面のイメージ
10
+
11
+ そう表示したいのであれば、cn, name, mail, department のすべてが AdInfo クラスにないとダメでは? であれば、以下のように Model に AdInfor クラスを定義して:
12
+
13
+ **Model**
14
+
15
+ ```
16
+ using System;
17
+ using System.Collections.Generic;
18
+ using System.Linq;
19
+ using System.Web;
20
+ using System.ComponentModel.DataAnnotations;
21
+
22
+ namespace Mvc5App.Models
23
+ {
24
+ public class AdInfo
25
+ {
26
+ public string Cn { get; set; }
27
+ public string Name { get; set; }
28
+ public string Mail { get; set; }
29
+ public string Department { get; set; }
30
+ }
31
+ }
32
+ ```
33
+
34
+ **Controller / Action Method**
35
+
36
+ 上記をベースに Controller / Action Method を作って(注: List<AdInfo> model は実際は AD 情報から取得するとしてサンプルでは以下のように簡略化)、
37
+
38
+ ```
39
+ using System;
40
+ using System.Collections.Generic;
41
+ using System.Linq;
42
+ using System.Web;
43
+ using System.Web.Mvc;
44
+ using System.ComponentModel.DataAnnotations;
45
+ using Mvc5App.Models;
46
+
47
+ namespace Mvc5App.Controllers
48
+ {
49
+ public class HomeController : Controller
50
+ {
51
+ public ActionResult AdInfo()
52
+ {
53
+ List<AdInfo> model = new List<AdInfo>
54
+ {
55
+ new AdInfo { Cn = "ABC121", Name = "suzuki", Mail = "suzuki@jp", Department = "営業" },
56
+ new AdInfo { Cn = "ABC122", Name = "sato", Mail = "sato@jp", Department = "総務" },
57
+ new AdInfo { Cn = "ABC123", Name = "tanaka", Mail = "tanaka@jp", Department = "経理" }
58
+ };
59
+
60
+ return View(model);
61
+ }
62
+ }
63
+ }
64
+ ```
65
+
66
+ スキャフォールディング機能を利用して、
67
+
68
+ ![イメージ説明](7372d8d9d7b188d5b8765d071751c4d8.jpeg)
69
+
70
+ View を生成すると以下のようになって、
71
+
72
+ **View**
73
+
74
+ ```
75
+ @model IEnumerable<Mvc5App.Models.AdInfo>
76
+
77
+ @{
78
+ ViewBag.Title = "AdInfo";
79
+ Layout = "~/Views/Shared/_Layout.cshtml";
80
+ }
81
+
82
+ <h2>AdInfo</h2>
83
+
84
+ <p>
85
+ @Html.ActionLink("Create New", "Create")
86
+ </p>
87
+ <table class="table">
88
+ <tr>
89
+ <th>
90
+ @Html.DisplayNameFor(model => model.Cn)
91
+ </th>
92
+ <th>
93
+ @Html.DisplayNameFor(model => model.Name)
94
+ </th>
95
+ <th>
96
+ @Html.DisplayNameFor(model => model.Mail)
97
+ </th>
98
+ <th>
99
+ @Html.DisplayNameFor(model => model.Department)
100
+ </th>
101
+ <th></th>
102
+ </tr>
103
+
104
+ @foreach (var item in Model) {
105
+ <tr>
106
+ <td>
107
+ @Html.DisplayFor(modelItem => item.Cn)
108
+ </td>
109
+ <td>
110
+ @Html.DisplayFor(modelItem => item.Name)
111
+ </td>
112
+ <td>
113
+ @Html.DisplayFor(modelItem => item.Mail)
114
+ </td>
115
+ <td>
116
+ @Html.DisplayFor(modelItem => item.Department)
117
+ </td>
118
+ <td>
119
+ @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
120
+ @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
121
+ @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
122
+ </td>
123
+ </tr>
124
+ }
125
+ ```
126
+
127
+ それを実行すると以下のようになります。これで分かりますか?
128
+
129
+ ![イメージ説明](502d1741e5bee19f0a12b220bba1df4a.jpeg)
130
+
131
+ 分からないということなら本を買って読んで体系的に勉強しないと、話が通じないので、ここのような掲示板でのやり取りで解決するのは難しいと思います。

1

訂正

2018/12/04 12:55

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,3 @@
1
1
  今スマホからなので、コードが書けませんが・・・
2
2
 
3
- 情報を格納するクラスを Model にていぎしてください。そのクラスを、例えば AdInfo とすると、取得した複数のユーザーの AD 情報を、Controller で List<AdInfo> というオブジェクトを作って格納します。それを Model として View に渡すのが基本になります。
3
+ 情報を格納するクラスを Model に定義してください。そのクラスを、例えば AdInfo とすると、取得した複数のユーザーの AD 情報を、Controller で List<AdInfo> というオブジェクトを作って格納します。それを Model として View に渡すのが基本になります。