実際のコードを見てみよう(簡易化しているのでこのままでは動かない恐れがあるので適時修正してもらいたい)。
-Import.aspx-
<%foreach( var contact in Model.ContactList)
{%>
<input type='checkbox' name='contacts' value='<%=contact.Id%>'/> <%=contact.Name%>
<%}%>
-ImportController.cs-
public ActionResult Import(int[] contacts)
{
// code here...
}
ポイントはcheckboxのname属性の値を固定にしていることだ。これで実際のHtmlにはContactListのアイテム分だけname='contacts'というcheckboxが描画される。そしてFormのポスト時にASP.NET MVCフレームワークが選択されたcontactsのvalueをひとまとめにしてImportControllerのImportActionの引数int[]として設定してくれる。

0 件のコメント:
コメントを投稿