Asp.net-Mvc
淘汰 JS + 發送到 MVC 3
我有以下程式碼,但是一旦將其送出到伺服器,我就會得到“未定義”的字元串,而不是 null 或空。這會導致問題,因為我無法執行驗證。任何想法如何在使用淘汰賽時防止這種情況發生。
var viewModel = { userName: ko.observable(""), emailAddress: ko.observable(""), verifyEmailAddress: ko.observable(""), OptOut: ko.observable(true), Grades: ["Grade 1", "Grade 2", "Grade 3", "Grade 4", "Grade 5", "Grade 6"], gradeSelected: ko.observable(["Grade 1"]) }; ko.applyBindings(viewModel); $("#addUser").click(function (e) { $.ajax({ url: 'AddUser', dataType: 'json', data: JSON.stringify(viewModel), type: 'POST', success: function (data) { $("#errorSection").text(data.Success).show(); } }); e.preventDefault(); });提前致謝
而不是
JSON.stringify(viewModel)doko.toJSON(viewModel),它將在進行字元串化之前首先解開所有可觀察對象。這裡有一些有用的文件:http: //knockoutjs.com/documentation/json-data.html
我認為首先你應該改變:gradeSelected: ko.observable(Grades
$$ 0 $$) 也許您想將成績更改為 observableArray。我會把它放在評論中,但還不能。