0

コントローラ ビューと JS を指定して、ポスト アクション コントローラから返された JSON データをどのようにバインドしますか。これは可能ですか。

コントローラ

 [HttpPost]
    public ActionResult PBHEP(string PC,string FC)
    {
     /some data calculations
       Output output = new Output() { CIR = CIR_, Recharge = Recharge_, GW_Withdrawal= GW_Withdrawal_ };
        return Json(output);
    }

JS

self.submit_conditions = function () {

    var PC_data = ko.toJSON(self.present_conditions());
    var FC_data = ko.toJSON(self.future_conditions());

    $.post("/Home/PBHEP", { "PC": PC_data, "FC": FC_data }, function (data) { alert((data));},'json');
}

この後、コントローラーが Json データの「出力」を返すと、開発ツールで、ネットワーク内の POST からの応答が{"CIR":8.31779,"Recharge":4.28381,"GW_Withdrawal":32.27184} になっていることがわかり ます。これを JS でヘットし、後でそれを使用して UI にテキストとしてバインドします。

前もって感謝します!

4

2 に答える 2

0

ViewModels を使用している場合は、ノックアウトと asp.net mvc で同じビューモデルを作成し、データを正常にバインドできると思います。

コントローラーで:

var model = new YourViewModel();
// fill data to return
return Json(model);

JavaScript に戻ると、ノックアウト マッピング プラグインを使用できます

于 2013-09-25T18:33:15.893 に答える