私は少し混乱しています。
私はかなり標準的な MVC3 セットアップを持っています: Home Controller/Index メソッド、ViewModel への厳密に型指定されたビュー。
私のViewModelは、3つの一般的なリスト(スキーム、タイプ、テーブル)のコレクションです。
TableModel スキーム リストの種類リスト TablesList
スキームとタイプは、ドロップダウンを入力して、@foreach ループを介して HTML テーブルに入力する 3 番目の (Tables) コレクションでフィルターとして機能します
Home/Index (引数なし) への呼び出しを介してこれらを設定します。これはうまくいきます。ここで、チェックボックスをオンにして、TablesList コレクションからいくつかの行を削除するようにマークしたいと考えています。次に、[送信] をクリックすると、Post を介して削除が実行され、テーブルの内容が更新され、残りのテーブルが同じ場所 (既存の HTML テーブルを置き換えます
私の Index View には、次のセクションがあります。
@using (Html.BeginForm("DeleteTables", "Home"))
{
@Html.Hidden("tableList", @Model.TablesList)
<input id="deleteButton" type="submit" />
}
私の HomeController には、次のような POST メソッドがあります
[HttpPost]
public ActionResult DeleteTables(List<ViewModel.ITableInformation> tableList)
{
var deleteableTableIds = from t in tableList
where t.DeleteTable
select t.TableId;
this.tableModel.DeleteTablesById(deleteableTableIds.ToList());
.... execute a db call to get remaining tables and return a PartialView or JSON
}
問題は、この関数のtableList引数にモデルが含まれていることを期待していますが、空です。
私が間違っていることを考えてください-これはかなり新しいのではないかと思います。
ありがとう