0

FeatureList (observableArray) のデータを TreeController の SaveMappings 関数に渡したいと思います。ボタンを sendItems 関数にバインドしました。受信した内容を確認するために、var data=p2fData 行にブレークポイントを設定しました。p2fData がヌルです。

コントローラーを public JsonResult SaveMappings(List p2fData) に変更しました。この場合、p2f データは 1 つの要素があることを示していますが、null もあります。

var Feature = function (featId) {
    var self = this;
    self.featId = featId;    
    self.parameters = ko.observableArray();    
}

var ParameterToFeatureListViewModel = function () {
    var self = this;
    var newFeature = new Feature("Feature XYZ");
    newFeature.parameters.push("1");
    newFeature.parameters.push("2");
    self.FeatureList = ko.observableArray([newFeature]);
    self.sendItems = function() {
        $.ajax({
           type: "POST",
           url: '/Tree/SaveMappings',
           data: ko.toJSON(self.FeatureList),
           contentType: "application/json; charset=utf-8",
           dataType: "json",
           success: function (response) {
               alert(response);
           },
           error: function (request, status, error) {
               alert(request.statusText);
           }
        });
    }
}

var vm = new ParameterToFeatureListViewModel()
ko.applyBindings(vm);

public class TreeController:Controller
{
    public ActionResult Index(){...}
    [HttpPost]
    public JsonResult SaveMappings(string p2fData)
    {
        var data = p2fData;
        return Json(data);
    }
}
4

1 に答える 1

0

@knockoutjsビューモデルをmvcコントローラーに渡す方法を 見てください...役立つかもしれません..

于 2013-03-20T20:35:46.063 に答える