MVC では、Controller を使用して (View)Model を View にバインドします。ViewModel では、View を表示するために必要なすべてを定義します。ちょっとした例をお見せします。
ビューモデル:
public class CustomerModel
{
public int Id { get; set; }
public string Name { get; set; }
public string EmailAddress { get; set; }
}
ViewModel を作成するコントローラーのアクション。私db.Customers
はデータのソースとして使用しました:
public ActionResult List()
{
var customerModel = db.Customers.Select(c => new CustomerModel
{
Id = c.Id,
Name = c.Name,
EmailAddress = c.EmailAddress
}).ToList();
return View(customerModel);
}
テーブルを含むビュー。これはデータ バインディング部分です。WebFormsではEval()
やBind()
here のようなメソッドを使用し、MVC では厳密に型指定されたビューを作成します。
@model IEnumerable<CustomerModel>
<table>
<tr>
<th>@Html.DisplayNameFor(m => m.Id)</th>
<th>@Html.DisplayNameFor(m => m.Name)</th>
<th>@Html.DisplayNameFor(m => m.EmailAddress)</th>
</tr>
@foreach (CustomerModel customer in Model)
{
<tr>
<td>@Html.DisplayFor(m => m.Id)</td>
<td>@Html.DisplayFor(m => m.Name)</td>
<td>@Html.DisplayFor(m => m.EmailAddress)</td>
</tr>
}
</table>
これで、利用可能な jQuery GridViews プラグインの 1 つを使用して、インライン編集などでグリッドを作成できます。いくつかのオプションについては、この質問を参照してください。