ユーザーがインデックスビューモデルを使用して現在リストされているアイテムを表示できるようにし、次にユーザーが別のビューモデルを作成して新しいアイテムを作成できるようにする単一のビューを作成しようとしています。
したがって、2つのviewModels-IndexFunkyThingsViewModel-CreateFunkyThingViewModelがあります
本質的に、私は主な見解を持っています:
@model IndexFunkyThingsViewModel
@foreach (var item in Model.FunkyThings)
{
/*Indexy stuff*/
}
/*If create item*/
@if (Model.CreateFunkyThing)
{
@Html.Partial("_CreateFunkyThingPartial", new CreateFunkyThingViewModel());
}
それから私の部分的なビューで私は持っています
@model CreateFunkyThingViewModel
@using (Html.BeginForm(MVC.FunkyThings.CreateFunkyThing(Model)))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Create FunkyThing</legend>
@Html.EditorForModel();
<p>
<input type="submit" class="button green" value="CreateFunkyThing" />
</p>
</fieldset>
}
最後に、コントローラーには次のものがあります。
[HttpPost]
public virtual ActionResult CreateFunkyThing(CreateFunkyThingViewModel createFunkyThingViewModel)
{
..
}
これはすべてうまくコンパイルされているようで、ビューに移動すると、作成フィールドなどを表示するまで機能します。ただし、送信ボタンを押すと、コントローラーはデータを受信しません。ActionResultが呼び出されますが、デバッガーでは、送信ボタンによって呼び出されたときにcreateFunkyThingViewModelパラメーターがnullになります。
私は何が間違っているのですか?