C# 如何在MVC中绑定来自my post方法控制器的响应数据

C# 如何在MVC中绑定来自my post方法控制器的响应数据,c#,jquery,asp.net-mvc,knockout.js,C#,Jquery,Asp.net Mvc,Knockout.js,给定控制器视图和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_ };

给定控制器视图和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数据“output”时,我看到在我的开发工具中,我从我的网络中的帖子中得到的响应是{“CIR”:8.31779,“Recharge”:4.28381,“GW_撤回”:32.27184} 我如何在我的JS中使用它,然后将其绑定为UI上的文本


提前谢谢你

假设您的模型定义了这些输出元素,其中

function vm(){
    var self = this;
    self.CIR = ko.observable();
    self.Recharge = ko.observable();
    self.GW_Withdrawl = ko.observable();
    //remaining stuff

    self.submit_conditions = function(){
        //usual stuff
        $.post(svcUrl, data, function(data){
            self.CIR(data.CIR);
            self.Recharge(data.Recharge);
            self.GW_Withdrawl(data.GW_Withdrawl);
        });
    };
}

ko.applyBindings(new vm());
现在像平常一样绑定这个,例如

<label>Recharge:</label><label data-bind="text: Recharge"></label>
充电:

我想如果您使用的是ViewModels,您可以在knockout和asp.net mvc上创建相同的viewmodel,并正常绑定数据

在控制器上:

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

返回javascript时,您可以使用

返回的数据绑定到UI元素。。您可以访问返回的data.CIR、data.Recharge数据,以获取相应的值,然后将其绑定到您的UI元素。如果可能,您可以与示例共享一个链接,介绍如何将此数据绑定到UI中的文本。我目前正在使用knockout JS,这是我的新手。