JSON を介して MVC3 コントローラーにデータを送信する際に問題が発生しています。
私の最終的な目標は、コントローラーがノックアウトからのデータとビューからの現在のモデルの両方を受け取ることです。
観測可能な配列を問題なく取得でき、ビューの作成に使用された元のモデルを問題なく取得できました。しかし、ブラウザでモデルに加えられた更新を取得できません。
通常、サブミットは自動的にビューモデルを送り返します。そのメカニズムを呼び出すだけでよいと思います。
私のコードは現在、ノックアウト配列を正しく取得していますが、モデルは「古い」ため、サーバーからビューにデータを入力するために使用されたデータです。
JSONを介してデータを返送できるようにするメカニズムをフォームで開始する方法を本当に探しています(または別のより良い方法)
編集: データ行が変更されました。モデルを取り戻しましたが、アイテムの配列は正しくサイズ設定されていますが、空のアイテムがあります。ノックアウト マッピングがうまく機能していないようです。
コントローラーの署名:
public ActionResult Save(
IEnumerable<ItemModel> eventlist,
ViewHeaderModel model)
var vm = @Html.Raw(Json.Encode(Model));
$.ajax({
async: false,
url: '/controller/schedule/save,
data: $('#myForm').serialize()+"&" +$.param({'eventlist': ko.toJS(self.DraftKoModel.ScheduleItems)}),
type: 'POST',
contentType: 'application/json; charset=utf-8',
traditional: true,
success: function (result) {
alert("HEEEEEEELP! I'm trapped!")
}
});