ASPコントロールGRIDVIEWを使用すると、テーブルのデータがグリッドビューにバインドされ、編集およびビューとして2列にもバインドされます。MVCを介してどのように行うことができますか?
のいくつかの基本的な概念を誤解していると思いますASP.NET MVC
。GridView などのサーバー側コントロールはなくなりました。ASP.NET MVC では、従来の Web フォームで使用されていた ViewState モデルや PostBack モデルはなくなりました。このため、Web フォームで使用していたサーバー側のコントロールはどれも ASP.NET MVC では機能しません。これは、Web 開発とはまったく異なるアプローチです。
ASP.NET MVC では、データを保持するモデルを定義することから始めることができます。
public class PersonViewModel
{
public string Name { get; set; }
public int Age { get; set; }
public string Country { get; set; }
}
次に、DAL と通信してモデルにデータを入力するコントローラー:
public class PersonController: Controller
{
public ActionResult Index()
{
IEnumerable<PersonViewModel> model = ... talk to your DAL and populate the view model
return View(model);
}
}
最後に、このモデルのデータを表示できる対応するビューがあります。
@model IEnumerable<PersonViewModel>
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Country</th>
</tr>
</thead>
<tfoot>
@foreach (var person in Model)
{
<tr>
<td>@person.Name</td>
<td>@person.Age</td>
<td>@person.Country</td>
</tr>
}
</tfoot>
</table>
ASP.NET MVC ビューでは、いくつかの組み込みヘルパーを使用することもできます。たとえば、表形式の出力を簡素化できるWebGrid ヘルパーがあります。
@model IEnumerable<PersonViewModel>
@{
var grid = new WebGrid();
}
@grid.GetHtml(
grid.Columns(
grid.Column("Name"),
grid.Column("Age"),
grid.Column("Country")
)
)
getting started tutorials
基本的な概念をよりよく理解するために、ASP.NET MVC について確認することをお勧めします。