【问题标题】:How to bind the response data from my post method controller in MVC如何在 MVC 中绑定来自我的 post 方法控制器的响应数据
【发布时间】:2013-09-25 16:15:12
【问题描述】:

给定Controller View和JS如何绑定从post action控制器返回的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 上绑定为文本。

提前感谢您!

【问题讨论】:

  • 您可以使用返回的数据绑定到您的 UI 元素。您可以访问作为 data.CIR 、 data.Recharge 返回的数据以获取相应的值,然后将它们绑定到您的 UI 元素。
  • 如果可能的话,您能否分享一个链接,其中包含有关如何将此数据绑定到 UI 中的文本的示例。我目前正在使用我不熟悉的淘汰赛 JS。

标签: c# jquery asp.net-mvc knockout.js


【解决方案1】:

假设您的模型在某些地方定义了这些输出元素...

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>

【讨论】:

    【解决方案2】:

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

    在您的控制器上:

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

    返回 javascript 后,您可以使用 knockout mapping plugin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 2016-05-22
      • 2014-11-30
      相关资源
      最近更新 更多