0

ビューモデルを mvc4 のコントローラーに送信したいと考えています。ビューモデルが未定義であるため、私が試したことはすべて戻ってきます。他のすべては正常に動作します。ページは必要なすべての値を生成して表示しますが、vm を json に変更してポスト経由で送信できないようです

モデルを見る

var guideviewmodel = function () {
var self = this;
self.scencustlist = ko.observableArray([]);
...}

ko.applyBindings(new guideviewmodel);

ビューモデルと外部の両方で試しました。

        $("#export").on("click", function (model, event) {
            var json = ko.toJSON(guideviewmodel);
            alert(json);
            $.ajax({
                type: 'POST',
                url: callPath + "/api/excel",
                cache: false,
                contentType: 'application/json; charset=utf-8',
                //data: JSON.stringify(self.scenppeditlist()),
                data: ko.toJSON(this.data),
                success: function () {
                    // success message 
                }
            });
        });

        self.exporttoexcel = function () {
            var json = ko.toJSON(guideviewmodel);
            alert(json);
            $.ajax({
                type: 'POST',
                url: callPath + "/api/excel",
                cache: false,
                contentType: 'application/json; charset=utf-8',
                //data: JSON.stringify(self.scenppeditlist()),
                //data: ko.toJSON(json),
                data: self,
                success: function () {
                    // success message 
                }
            });
        }
4

1 に答える 1

0

これを試してみるとうまくいくかもしれません:

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

$("#export").on("click", function (model, event) {
        var json = ko.toJSON(vm);
        alert(json);
        $.ajax({
            type: 'POST',
            url: callPath + "/api/excel",
            cache: false,
            contentType: 'application/json; charset=utf-8',
            //data: JSON.stringify(self.scenppeditlist()),
            data: ko.toJSON(this.data),
            success: function () {
                // success message 
            }
        });
    });
于 2013-06-14T18:30:56.693 に答える