私はフォームとその内部に入力とチェックボックスを持つテーブルを持っています。私はかみそりとHTMLでそれをコード化しました。 Submitボタンを押すと、チェックボックスの付いた行、またはデフォルトで更新されたフィールドを持つすべてのテーブルを受け取ることになります。しかし、私はnullリストまたは最初の行(それは私のコントローラの実装に依存しています)を受信しています。どのように達成することができますか?何か案は?MVC 5でテーブル全体を返すにはどうしたらいいですか?
これは、私の知る限り届くよう、私のコードです:
ビュー:
@model List<Tuto2.Models.Peliculas>
....
<div class="container">
<h1>Lista de Peliculas</h1>
@using(@Html.BeginForm("Edit", "Home", FormMethod.Post, new { enctype = "multipart/form-data"}))
{
<table class="table table-hover">
<thead>
....
</thead>
<tbody>
@for (var i = 0; i < Model.Count; i++)
{
<tr>
<td>
<input type="checkbox" id="Code + @i" value="@Model[i].Code" />
</td>
<td>
<input class="pull-right" type="text" id="Titulo + @i" value="@Model[i].Titulo" />
</td>
<td>
<input class="pull-right" type="text" id="Genero + @i" value="@Model[i].Genero" />
</td>
</tr>
}
</tbody>
<tfoot>
....
</tfoot>
</table>
}
</div>
はコントローラー:
[HttpPost]
public ActionResult Edit(List<Peliculas> c)
{
return View(Cartelera);
}
または:
[HttpPost]
public ActionResult Edit(Peliculas p)
{
return View(Cartelera);
}
どのような先端もありがとうございます。
ありがとうございました
掲載すべき事項はありませんので、あなたは、あなたの入力に 'name'の属性を与えていません。 @ Html.CheckBoxFor(m => m [i] .Code) 'などを正確に生成するために、厳密に型付けされた' HtmlHelper'メソッドを使用してください(そして、ソースを表示し、正しいhtmlがどのようなものか調べる) –
私は、 'Code'という名前のプロパティが実際には' bool'ではないと思われます。 - あなたのビューモデルで 'bool IsSelected'プロパティが必要です。 –
MVCモデルのバインディングは、入力フィールドに 'id'属性の代わりに' name'を使用して動作します。 HTMLヘルパーを使いたい場合は、 'Html.CheckBoxFor'でインデックス付きのviewmodelを使うだけです。 @テツヤヤマモト。 –